feature: 结果查询不返回版式文件

jianshui-ui
dongxiaoke 1 year ago
parent 458a681d31
commit 11a0fd7262
  1. 1
      jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/InvoiceMapper.java
  2. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/ElephantInvoiceServiceImpl.java
  3. 6
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/AisinoConsoleInvoiceApiZhongQiServiceImpl.java
  4. 3
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiServiceImpl.java
  5. 12
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ByInspurServiceImpl.java
  6. 465
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java
  7. 4
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/AddInvoiceBatchTask.java
  8. 425
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/InvoiceBackTask.java
  9. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/QueryInvoiceTask.java
  10. 2
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/RedInvoiceBackTask.java
  11. 8
      jianshui-invoice/src/main/resources/mapper/invoice/InvoiceMapper.xml

@ -102,6 +102,7 @@ public interface InvoiceMapper extends BaseMapper<Invoice> {
public Invoice selectByOutTradeOrderno(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo,@Param("update_by") String updateBy); public Invoice selectByOutTradeOrderno(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo,@Param("update_by") String updateBy);
public Invoice selectByOutTradeOrdernoNoUpdateBy(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo); public Invoice selectByOutTradeOrdernoNoUpdateBy(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo);
public List<Invoice> selectByOutTradeOrdernoList(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo,@Param("update_by") String updateBy); public List<Invoice> selectByOutTradeOrdernoList(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo,@Param("update_by") String updateBy);
public List<Invoice> selectByOutTradeOrdernoListNoUpdateBy(@Param(("companyId")) Long companyId, @Param("out_trade_orderno") String systemOrderNo);
/** /**

@ -502,7 +502,7 @@ public class ElephantInvoiceServiceImpl implements ElephantInvoiceService {
invoiceBack.setIdentity(companyservice.getIdentity()); invoiceBack.setIdentity(companyservice.getIdentity());
invoiceBack.setBackMsg(""); invoiceBack.setBackMsg("");
invoiceBack.setBackUrl(""); invoiceBack.setBackUrl("");
invoiceBack.setSystemOrderno(invoice.getOutTradeOrderno()); invoiceBack.setSystemOrderno(invoice.getFpqqlsh());
invoiceBack.setStatus("0"); invoiceBack.setStatus("0");
invoiceBack.setCreateTime(new Date()); invoiceBack.setCreateTime(new Date());
invoiceBackMapper.insertInvoiceBack(invoiceBack); invoiceBackMapper.insertInvoiceBack(invoiceBack);

@ -133,7 +133,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
invoiceBackVali.setBackUrl(""); invoiceBackVali.setBackUrl("");
invoiceBackVali.setStatus("0"); invoiceBackVali.setStatus("0");
invoiceBackVali.setCreateTime(new Date()); invoiceBackVali.setCreateTime(new Date());
invoiceBackVali.setSystemOrderno(invoice.getOutTradeOrderno()); invoiceBackVali.setSystemOrderno(invoice.getFpqqlsh());
invoiceBackVali.setBackMsg(""); invoiceBackVali.setBackMsg("");
invoiceBackVali.setResultCode("0000"); invoiceBackVali.setResultCode("0000");
invoiceBackVali.setResultMsg("开票成功!"); invoiceBackVali.setResultMsg("开票成功!");
@ -426,7 +426,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
queryInvoiceBack.setBackUrl(callBackUrl); queryInvoiceBack.setBackUrl(callBackUrl);
queryInvoiceBack.setStatus("0"); queryInvoiceBack.setStatus("0");
queryInvoiceBack.setCreateTime(new Date()); queryInvoiceBack.setCreateTime(new Date());
queryInvoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno()); queryInvoiceBack.setSystemOrderno(billInfo.getFpqqlsh());
queryInvoiceBack.setBackMsg(""); queryInvoiceBack.setBackMsg("");
queryInvoiceBack.setResultCode("0000"); queryInvoiceBack.setResultCode("0000");
queryInvoiceBack.setResultMsg("开票成功!"); queryInvoiceBack.setResultMsg("开票成功!");
@ -541,7 +541,7 @@ public class AisinoConsoleInvoiceApiZhongQiServiceImpl implements IInvoiceApiSer
queryInvoiceBack.setBackUrl(callBackUrl); queryInvoiceBack.setBackUrl(callBackUrl);
queryInvoiceBack.setStatus("0"); queryInvoiceBack.setStatus("0");
queryInvoiceBack.setCreateTime(new Date()); queryInvoiceBack.setCreateTime(new Date());
queryInvoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno()); queryInvoiceBack.setSystemOrderno(billInfo.getFpqqlsh());
queryInvoiceBack.setBackMsg(""); queryInvoiceBack.setBackMsg("");
queryInvoiceBack.setResultCode("0000"); queryInvoiceBack.setResultCode("0000");
queryInvoiceBack.setResultMsg("开票成功!"); queryInvoiceBack.setResultMsg("开票成功!");

@ -234,6 +234,7 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService {
queryBody.put("DDQQPCH", billInfo.getSystemOrderno()); queryBody.put("DDQQPCH", billInfo.getSystemOrderno());
queryBody.put("FPLXDM", fplxdm); queryBody.put("FPLXDM", fplxdm);
queryBody.put("SFFHSBSJ", "0"); queryBody.put("SFFHSBSJ", "0");
queryBody.put("BSWJ", "1");
// queryResult = ElephantUtils.sendRequest(ElephantConstants.ADD_INVOICE_RESULT, JSONUtil.parse(queryBody)); // queryResult = ElephantUtils.sendRequest(ElephantConstants.ADD_INVOICE_RESULT, JSONUtil.parse(queryBody));
try { try {
queryResult = ElephantUtils.sendRequestWithoutToken(ElephantConstants.ADD_INVOICE_RESULT_LOCALHOST, ElephantConstants.ADD_INVOICE_RESULT_METHOD, JSONUtil.parse(queryBody), companyservice); queryResult = ElephantUtils.sendRequestWithoutToken(ElephantConstants.ADD_INVOICE_RESULT_LOCALHOST, ElephantConstants.ADD_INVOICE_RESULT_METHOD, JSONUtil.parse(queryBody), companyservice);
@ -359,7 +360,7 @@ public class ElephantInvoiceApiServiceImpl implements IInvoiceApiService {
JSONObject queryBody = new JSONObject(); JSONObject queryBody = new JSONObject();
queryBody.put("NSRSBH", companyservice.getSellertax()); queryBody.put("NSRSBH", companyservice.getSellertax());
queryBody.put("DDQQLSH", originBillInfo.getSystemOrderno()); queryBody.put("DDQQLSH", originBillInfo.getSystemOrderno());
queryBody.put("BSWJ", "0"); queryBody.put("BSWJ", "1");
debugLog("断点4", uuid, timestamp); debugLog("断点4", uuid, timestamp);
// AjaxResult queryResult = ElephantUtils.sendRequest(ElephantConstants.QUERY_INVOICE, JSONUtil.parse(queryBody)); // AjaxResult queryResult = ElephantUtils.sendRequest(ElephantConstants.QUERY_INVOICE, JSONUtil.parse(queryBody));

@ -327,7 +327,7 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
// TODO: 2023/10/8 数电 // TODO: 2023/10/8 数电
// TODO kk:2024/7/8 寿仙谷定制 去掉文件流 // TODO kk:2024/7/8 寿仙谷定制 去掉文件流
// queryBody.put("BSWJ", "1"); queryBody.put("BSWJ", "1");
// 订单请求流水号 // 订单请求流水号
@ -474,7 +474,7 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
JSONObject queryBody = new JSONObject(); JSONObject queryBody = new JSONObject();
queryBody.put("NSRSBH", companyservice.getSellertax()); queryBody.put("NSRSBH", companyservice.getSellertax());
queryBody.put("DDQQLSH", originBillInfo.getSystemOrderno()); queryBody.put("DDQQLSH", originBillInfo.getSystemOrderno());
queryBody.put("BSWJ", "0"); queryBody.put("BSWJ", "1");
// TODO kk:2024/7/8 寿仙谷定制 不需要文件流 // TODO kk:2024/7/8 寿仙谷定制 不需要文件流
// queryBody.put("BSWJ", "1"); // queryBody.put("BSWJ", "1");
debugLog("断点4", uuid, timestamp); debugLog("断点4", uuid, timestamp);
@ -3137,7 +3137,7 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
invoiceBackVali.setBackUrl(""); invoiceBackVali.setBackUrl("");
invoiceBackVali.setStatus("0"); invoiceBackVali.setStatus("0");
invoiceBackVali.setCreateTime(new Date()); invoiceBackVali.setCreateTime(new Date());
invoiceBackVali.setSystemOrderno(invoice.getOutTradeOrderno()); invoiceBackVali.setSystemOrderno(invoice.getFpqqlsh());
invoiceBackVali.setBackMsg(""); invoiceBackVali.setBackMsg("");
invoiceBackVali.setResultCode("0000"); invoiceBackVali.setResultCode("0000");
invoiceBackVali.setResultMsg("开票成功!"); invoiceBackVali.setResultMsg("开票成功!");
@ -3324,8 +3324,8 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
// 订单请求流水号 // 订单请求流水号
queryBody.put("DDQQLSH", billInfo.getSystemOrderno()); queryBody.put("DDQQLSH", billInfo.getSystemOrderno());
queryBody.put("BSWJ", "1");
/*// 提取码 /*// 提取码
queryBody.put("TQM", "0"); queryBody.put("TQM", "0");
// 订单号 // 订单号
@ -3401,7 +3401,7 @@ public class ElephantInvoiceApiV6ByInspurServiceImpl implements IInvoiceApiServi
queryInvoiceBack.setBackUrl(callBackUrl); queryInvoiceBack.setBackUrl(callBackUrl);
queryInvoiceBack.setStatus(InvoiceBackStatusEnum.IN_PROCESS.getCode()); queryInvoiceBack.setStatus(InvoiceBackStatusEnum.IN_PROCESS.getCode());
queryInvoiceBack.setCreateTime(new Date()); queryInvoiceBack.setCreateTime(new Date());
queryInvoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno()); queryInvoiceBack.setSystemOrderno(billInfo.getFpqqlsh());
queryInvoiceBack.setBackMsg(""); queryInvoiceBack.setBackMsg("");
queryInvoiceBack.setResultCode("0000"); queryInvoiceBack.setResultCode("0000");
queryInvoiceBack.setResultMsg("开票中,进入队列"); queryInvoiceBack.setResultMsg("开票中,进入队列");

@ -189,7 +189,7 @@ public class AddInvoiceBatchTask extends TimerTask {
} else { } else {
invoiceBack.setResultCode("9999"); invoiceBack.setResultCode("9999");
invoiceBack.setResultMsg(resultHx.getMessage()); invoiceBack.setResultMsg(resultHx.getMessage());
invoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno()); invoiceBack.setSystemOrderno(billInfo.getFpqqlsh());
invoiceBack.setStatus("0"); invoiceBack.setStatus("0");
invoiceBack.setCreateTime(new Date()); invoiceBack.setCreateTime(new Date());
invoiceBackMapper.insertInvoiceBack(invoiceBack); invoiceBackMapper.insertInvoiceBack(invoiceBack);
@ -216,7 +216,7 @@ public class AddInvoiceBatchTask extends TimerTask {
} else { } else {
invoiceBack.setResultCode("9999"); invoiceBack.setResultCode("9999");
invoiceBack.setResultMsg("开票失败!"); invoiceBack.setResultMsg("开票失败!");
invoiceBack.setSystemOrderno(billInfo.getOutTradeOrderno()); invoiceBack.setSystemOrderno(billInfo.getFpqqlsh());
invoiceBack.setStatus("0"); invoiceBack.setStatus("0");
invoiceBack.setCreateTime(new Date()); invoiceBack.setCreateTime(new Date());
invoiceBackMapper.insertInvoiceBack(invoiceBack); invoiceBackMapper.insertInvoiceBack(invoiceBack);

@ -9,14 +9,13 @@ import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.common.core.domain.entity.Companyservice;
import com.jianshui.common.utils.StringUtils;
import com.jianshui.common.utils.spring.SpringUtils; import com.jianshui.common.utils.spring.SpringUtils;
import com.jianshui.invoice.constant.aisino.console.AisinoConsoleConstants; import com.jianshui.invoice.constant.aisino.console.AisinoConsoleConstants;
import com.jianshui.invoice.domain.*; 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.enums.InvoiceBackStatusEnum;
import com.jianshui.invoice.factory.IInvoiceServiceFactory; import com.jianshui.invoice.factory.IInvoiceServiceFactory;
import com.jianshui.invoice.mapper.BillInfoMapper; import com.jianshui.invoice.mapper.BillInfoMapper;
import com.jianshui.invoice.mapper.InvoiceBackMapper; import com.jianshui.invoice.mapper.InvoiceBackMapper;
@ -61,15 +60,16 @@ public class InvoiceBackTask {
private final String ZQ_BACK_DXHY = "【重汽回调(开票中单据)】"; private final String ZQ_BACK_DXHY = "【重汽回调(开票中单据)】";
private final String ZQ_BACK = "【重汽回调】";
/** /* *//**
* @author kk * @author kk
* @date 9:03 * @date 9:03
* @param: [params] * @param: [params]
* @return: 开票回调 * @return: 开票回调
*/ *//*
public void bkParams(String params) { public void bkParams(String params) {
// TODO: 2023/11/9 回调次数处理 // TODO: 2023/11/9 回调次数处理
// 默认1次 定时任务控制,补偿机制 // 默认1次 定时任务控制,补偿机制
@ -172,7 +172,7 @@ public class InvoiceBackTask {
} }
log.info("[重汽回调定时任务执行结束]---"); log.info("[重汽回调定时任务执行结束]---");
} }
*/
/** /**
* @author kk * @author kk
@ -221,113 +221,133 @@ public class InvoiceBackTask {
public void sdBackInvoice() { public void sdBackInvoice() {
// 发票回调补偿机制。 // 发票回调补偿机制。
log.info("[重汽回调定时任务开始执行]"); log.info("================================[重汽回调定时任务开始执行]=============================");
log.info("{}:查询回调表信息,查询条件为:status=0,2,3", ZQ_BACK);
QueryWrapper<InvoiceBack> queryWrapper = new QueryWrapper<>(); QueryWrapper<InvoiceBack> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", "0").or().eq("status", "2").or().eq("status", "3"); queryWrapper.eq("status", "0").or().eq("status", "2").or().eq("status", "3");
List<InvoiceBack> invoiceBackList = invoiceBackMapper.selectList(queryWrapper); List<InvoiceBack> invoiceBackList = invoiceBackMapper.selectList(queryWrapper);
log.info("【重汽回调】查询到{}条带回调订单", invoiceBackList.size()); log.info("{}:查询到{}条带回调订单", ZQ_BACK, invoiceBackList.size());
for (InvoiceBack invoiceBack : invoiceBackList) { for (InvoiceBack invoiceBack : invoiceBackList) {
String id = invoiceBack.getSystemOrderno(); String id = invoiceBack.getSystemOrderno();
String identity = invoiceBack.getIdentity(); String identity = invoiceBack.getIdentity();
log.info("{}:开始处理回调订单,identity={},id={},", ZQ_BACK, identity, id);
if (StrUtil.isEmpty(id)) { if (StrUtil.isEmpty(id)) {
log.info("【控制台】发票回调,id为空"); log.info("{}:发票回调,回调id为空", ZQ_BACK);
invoiceBack.setStatus("3"); invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("id为空"); invoiceBack.setBackMsg("运维排查:传入id为空");
invoiceBack.setUpdateTime(new Date()); invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue; continue;
} }
log.info("{}:订单号{},开始回调", ZQ_BACK, id);
log.info("【重汽回调】订单号{},开始回调", id);
ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class); ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(Long.valueOf(identity), "aisino_callback_url"); CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(Long.valueOf(identity), "aisino_callback_url");
if (secretIdProp == null || secretIdProp.getValue() == null || "".equals(secretIdProp.getValue())) { if (secretIdProp == null || secretIdProp.getValue() == null || "".equals(secretIdProp.getValue())) {
log.info("【重汽回调】发票回调,未配置回调地址{}",identity); log.info("{}发票回调,未配置回调地址{}", ZQ_BACK, identity);
invoiceBack.setStatus("3"); invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("未配置回调地址"); invoiceBack.setBackMsg("运维排查:未配置回调地址");
invoiceBack.setUpdateTime(new Date()); invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue; continue;
} }
String callBackUrl = secretIdProp.getValue(); String callBackUrl = secretIdProp.getValue();
log.info("【重汽回调】发票回调,订单号{},回调地址{}",id, callBackUrl); log.info("{}:发票回调,订单号{},回调地址{}", ZQ_BACK, id, callBackUrl);
Invoice invoice = invoiceMapper.selectBySystemOrderNo(Long.valueOf(identity), id);
Invoice invoice = invoiceMapper.selectByOutTradeOrderno(Long.valueOf(identity), id, "0");
if (invoice == null) { if (invoice == null) {
log.info("【重汽回调】发票信息未查询到,id={}", id); log.info("{}:当前发票未查询到Invoice信息,开始请求大象接口获取", ZQ_BACK);
invoice = new Invoice(); log.info("通过billInfo组装,id为:{}", id);
invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno()); BillInfo billInfo = billInfoMapper.selectBySystemOrderNo(Long.valueOf(identity), id);
invoice.setState(22); if (BeanUtil.isEmpty(billInfo)) {
invoice.setMessage( (invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg() ); log.info("{}:billInfo中不存咋,id为:{}", ZQ_BACK, id);
} }
if(invoice != null){ // 发票查询
// 明细重插 String messageQhery = getInvoiceQuery(invoiceBack, billInfo);
List<InvoiceDetail> invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId());
if(!invoiceDetailList.isEmpty()){ invoice = invoiceMapper.selectBySystemOrderNo(Long.valueOf(identity), id);
invoice.setInvoiceDetailList(invoiceDetailList); log.info("{}:调用回调接口拉取后,Invoice存在状态为{},回调查询发票结果为:{}", ZQ_BACK, invoice != null, messageQhery);
if (invoice == null) {
log.info("{}:查询到Invoice信息,回调后还是未查询到Invoice", ZQ_BACK);
invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("k:回调后还是未查询到Invoice");
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue;
} }
}
try { }
log.info("【重汽回调】发票回调接口,发送数据开始,id={},orderno={},callBackUrl={},param={}", id, invoice.getOutTradeOrderno(), callBackUrl, JSONUtil.toJsonStr(invoice)); Integer stateInvoice = invoice.getState();
String result = HttpUtil.post(callBackUrl, JSONUtil.toJsonStr(invoice)); String fpqqlsh = invoice.getFpqqlsh();
log.info("【重汽回调】发票回调接口,发送数据结束,id={},接口返回信息={}", id, result); String ddh = invoice.getOutTradeOrderno();
JSONObject jsonObject = JSONUtil.parseObj(result); log.info("{}:查询到Invoice信息,发票状态为:{}", ZQ_BACK, stateInvoice);
if (jsonObject != null) { if (stateInvoice == 20) {
String status = jsonObject.get("status") != null ? jsonObject.get("status").toString() : ""; // 开票中
String message = jsonObject.get("message") != null ? jsonObject.get("message").toString() : ""; log.info("{}:开具中,调用查询,fpqqlsh={},ddh={}", ZQ_BACK, fpqqlsh, ddh);
BillInfo billInfo = new BillInfo();
if ("0000".equals(status)) { billInfo.setFpqqlsh(invoice.getFpqqlsh());
invoiceBack.setStatus("1"); billInfo.setOutTradeOrderno(invoice.getOutTradeOrderno());
invoiceBack.setBackMsg(message != null ? message.substring(0, Math.min(message.length(), 200)) : ""); // 发票查询
invoiceBack.setUpdateTime(new Date()); String messageQhery = getInvoiceQuery(invoiceBack, billInfo);
invoiceBackMapper.updateInvoiceBack(invoiceBack);
} else if ("9999".equals(status)) { invoice = invoiceMapper.selectBySystemOrderNo(Long.valueOf(identity), id);
invoiceBack.setStatus("3"); log.info("{}:调用回调接口拉取后,Invoice存在状态为{},回调查询发票结果为:{}", ZQ_BACK, invoice != null, messageQhery);
invoiceBack.setBackMsg(message != null ? message.substring(0, Math.min(message.length(), 200)) : ""); if (invoice == null) {
invoiceBack.setUpdateTime(new Date()); log.info("{}:查询到Invoice信息,回调后还是未查询到Invoice", ZQ_BACK);
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
} else { invoiceBack.setBackMsg("k:回调后还是未查询到Invoice");
invoiceBack.setStatus("3"); invoiceBack.setUpdateTime(new Date());
invoiceBack.setBackMsg(status + message != null ? message.substring(0, Math.min(message.length(), 200)) : ""); invoiceBackMapper.updateInvoiceBack(invoiceBack);
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
}
continue; continue;
} }
} catch (Exception e) {
log.info("【重汽回调】发票回调接口,发送数据异常,id={},e={}", id,e.toString()); } else if (stateInvoice == 22) {
invoiceBack.setStatus("2"); // 开票失败
invoiceBack.setBackMsg("发送数据异常"); log.info("{}:开具失败,递交回调,fpqqlsh={},ddh={}", ZQ_BACK, fpqqlsh, ddh);
} else if (stateInvoice == 2) {
// 开票成功
log.info("{}:开具成功,递交回调,fpqqlsh={},ddh={}", ZQ_BACK, fpqqlsh, ddh);
} else {
// 未解析状态
log.info("{}:查询到Invoice信息,发票状态为:{},未解析状态", ZQ_BACK, stateInvoice);
invoiceBack.setStatus(InvoiceBackStatusEnum.CALLBACK_FAILED.getCode());
invoiceBack.setBackMsg("发票状态为" + stateInvoice + ",未解析状态");
invoiceBack.setUpdateTime(new Date()); invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue;
} }
}
log.info("[重汽回调定时任务执行结束]---");
}
// 明细重插
List<InvoiceDetail> invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId());
if (!invoiceDetailList.isEmpty()) {
invoice.setInvoiceDetailList(invoiceDetailList);
}
// 回调重汽
backZq(id, invoice, callBackUrl, invoiceBack);
}
log.info("=======================[重汽回调定时任务执行结束]=================================");
}
/** /**
* @author kk * @author kk
* @date 16:12 * @date 16:12
* @param: [] * @param: []
* @return: 开票中发票 查询发票状态并回推 -重汽 * @return: 开票中发票 查询发票状态并回推 -重汽
*/ */
public void sdBackInvoiceQueryDxhy() { public void sdBackInvoiceQueryDxhy() {
// 发票回调补偿机制。 // 发票回调补偿机制。
log.info(ZQ_BACK_DXHY + "开始执行]"); log.info("============================{}:开始执行,查询条件-5===================================", ZQ_BACK_DXHY);
QueryWrapper<InvoiceBack> queryWrapper = new QueryWrapper<>(); QueryWrapper<InvoiceBack> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", "5"); queryWrapper.eq("status", "5");
@ -347,8 +367,8 @@ public class InvoiceBackTask {
long minutesBetween = DateUtil.between(now, halfAnHourAgo, DateUnit.MINUTE); long minutesBetween = DateUtil.between(now, halfAnHourAgo, DateUnit.MINUTE);
// 如果差值大于或等于30分钟,则认为当前时间在半个小时之前 // 如果差值大于或等于30分钟,则认为当前时间在半个小时之前
boolean isHalfAnHourAgo = minutesBetween >= 30; boolean isHalfAnHourAgo = minutesBetween >= 30;
if(!isHalfAnHourAgo){ if (!isHalfAnHourAgo) {
log.info(ZQ_BACK_DXHY + "只查询半个小时之前的单据"); log.info("{}只查询半个小时之前的单据,之前的交给系统队列,当前单据号:{}暂不回调", ZQ_BACK_DXHY, invoiceBack.getSystemOrderno());
continue; continue;
} }
@ -356,7 +376,7 @@ public class InvoiceBackTask {
String identity = invoiceBack.getIdentity(); String identity = invoiceBack.getIdentity();
if (StrUtil.isEmpty(id)) { if (StrUtil.isEmpty(id)) {
log.info(ZQ_BACK_DXHY + "发票回调,id为空"); log.info("{}:发票回调,id为空", ZQ_BACK_DXHY);
invoiceBack.setStatus("3"); invoiceBack.setStatus("3");
invoiceBack.setBackMsg("id为空"); invoiceBack.setBackMsg("id为空");
invoiceBack.setUpdateTime(new Date()); invoiceBack.setUpdateTime(new Date());
@ -364,13 +384,13 @@ public class InvoiceBackTask {
continue; continue;
} }
log.info(ZQ_BACK_DXHY + "订单号{}", id); log.info("{}:订单号{}", ZQ_BACK_DXHY, id);
ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class); ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(Long.valueOf(identity), "aisino_callback_url"); CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(Long.valueOf(identity), "aisino_callback_url");
if (secretIdProp == null || secretIdProp.getValue() == null || "".equals(secretIdProp.getValue())) { if (secretIdProp == null || secretIdProp.getValue() == null || "".equals(secretIdProp.getValue())) {
log.info(ZQ_BACK_DXHY + "发票回调,未配置回调地址{}",identity); log.info("{}:发票回调,未配置回调地址{}", ZQ_BACK_DXHY, identity);
invoiceBack.setStatus("3"); invoiceBack.setStatus("3");
invoiceBack.setBackMsg("未配置回调地址"); invoiceBack.setBackMsg("未配置回调地址");
invoiceBack.setUpdateTime(new Date()); invoiceBack.setUpdateTime(new Date());
@ -379,28 +399,22 @@ public class InvoiceBackTask {
} }
String callBackUrl = secretIdProp.getValue(); String callBackUrl = secretIdProp.getValue();
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.selectBySystemOrderNo(Long.valueOf(identity), id);
if (invoice != null) { if (invoice != null) {
log.info("通过Invoice组装,id为:{}",id); 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<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 { } else {
log.info("通过billInfo组装,id为:{}",id); log.info("通过billInfo组装,id为:{}", id);
BillInfo billInfo = billInfoMapper.selectByOutTradeOrderno(Long.valueOf(identity), id); BillInfo billInfo = billInfoMapper.selectBySystemOrderNo(Long.valueOf(identity), id);
if(BeanUtil.isEmpty(billInfo)){ if (BeanUtil.isEmpty(billInfo)) {
log.info("billInfo中不存咋,id为:{}",id); log.info("billInfo中不存咋,id为:{}", id);
} }
Invoice invoice1 = new Invoice(); Invoice invoice1 = new Invoice();
invoice1.setFpqqlsh(billInfo.getFpqqlsh()); invoice1.setFpqqlsh(billInfo.getFpqqlsh());
@ -408,9 +422,9 @@ public class InvoiceBackTask {
invoice1.setOutTradeOrderno(billInfo.getOutTradeOrderno()); invoice1.setOutTradeOrderno(billInfo.getOutTradeOrderno());
} }
Integer state = invoice.getState() != null ? invoice.getState() :1; 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);
IInvoiceApiService invoiceService = invoiceServiceFactory.getService("elephantV6_invoice"); IInvoiceApiService invoiceService = invoiceServiceFactory.getService("elephantV6_invoice");
Companyservice companyservice = new Companyservice(); Companyservice companyservice = new Companyservice();
@ -419,66 +433,221 @@ 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.id={},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);
log.info("发票回调id={}",id); log.info("发票回调id={}", id);
invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id); invoice = invoiceMapper.selectBySystemOrderNo(Long.valueOf(identity), id);
if (invoice == null) { if (invoice == null) {
log.info(ZQ_BACK_DXHY + "重新拉取结果后,发票信息未查询到,id={}", id); log.info(ZQ_BACK_DXHY + "重新拉取结果后,发票信息未查询到,id={}", id);
invoice = new Invoice(); invoice = new Invoice();
invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno()); invoice.setOutTradeOrderno(invoiceBack.getSystemOrderno());
invoice.setState(22); invoice.setState(22);
invoice.setMessage( (invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg() ); invoice.setMessage((invoiceBack.getResultMsg() != null && invoiceBack.getResultMsg().length() > 200) ? invoiceBack.getResultMsg().substring(0, 200) : invoiceBack.getResultMsg());
continue; continue;
} }
state = invoice.getState(); state = invoice.getState();
log.info(ZQ_BACK_DXHY + "拉去后查询状态为,id={},state={}",id,state); log.info(ZQ_BACK_DXHY + "拉去后查询状态为,id={},state={}", id, state);
if( state == 20 ){ if (state == 20) {
log.info(ZQ_BACK_DXHY + "20为开票中,不回调,id={},state={}",id,state); log.info(ZQ_BACK_DXHY + "20为开票中,不回调,id={},state={}", id, state);
continue; continue;
} }
try { // 回调重汽
backZq(id, invoice, callBackUrl, invoiceBack);
log.info(ZQ_BACK_DXHY + "发票回调接口,发送数据开始,id={},orderno={},callBackUrl={},param={}", id, invoice.getOutTradeOrderno(), callBackUrl, JSONUtil.toJsonStr(invoice)); }
String result = HttpUtil.post(callBackUrl, JSONUtil.toJsonStr(invoice)); log.info(ZQ_BACK_DXHY + "定时任务执行结束---");
log.info(ZQ_BACK_DXHY + "发票回调接口,发送数据结束,id={},接口返回信息={}", id, result); }
JSONObject jsonObject = JSONUtil.parseObj(result);
if (jsonObject != null) {
String status = jsonObject.get("status") != null ? jsonObject.get("status").toString() : "";
String message = jsonObject.get("message") != null ? jsonObject.get("message").toString() : ""; /** 回调重汽 */
public void backZq(String id, Invoice invoice, String callBackUrl, InvoiceBack invoiceBack) {
if ("0000".equals(status)) { try {
invoiceBack.setStatus("1"); log.info("【重汽回调】发票回调接口,发送数据开始,id={},orderno={},callBackUrl={},param={}", id, invoice.getOutTradeOrderno(), callBackUrl, JSONUtil.toJsonStr(invoice));
invoiceBack.setBackMsg(message != null ? message.substring(0, Math.min(message.length(), 200)) : ""); String result = HttpUtil.post(callBackUrl, JSONUtil.toJsonStr(invoice));
invoiceBack.setUpdateTime(new Date()); log.info("【重汽回调】发票回调接口,发送数据结束,id={},接口返回信息={}", id, result);
invoiceBackMapper.updateInvoiceBack(invoiceBack); JSONObject jsonObject = JSONUtil.parseObj(result);
} else if ("9999".equals(status)) { String status = jsonObject.get("status") != null ? jsonObject.get("status").toString() : "";
invoiceBack.setStatus("3"); String message = jsonObject.get("message") != null ? jsonObject.get("message").toString() : "";
invoiceBack.setBackMsg(message != null ? message.substring(0, Math.min(message.length(), 200)) : "");
invoiceBack.setUpdateTime(new Date()); if (message.length() > 200) {
invoiceBackMapper.updateInvoiceBack(invoiceBack); message = message.substring(0, Math.min(message.length(), 200));
} else { }
invoiceBack.setStatus("3"); invoiceBack.setBackMsg("zq:" + message);
invoiceBack.setBackMsg(status + message != null ? message.substring(0, Math.min(message.length(), 200)) : "");
invoiceBack.setUpdateTime(new Date()); if ("0000".equals(status)) {
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBack.setStatus("1");
} } else if ("9999".equals(status)) {
invoiceBack.setStatus("3");
} else {
invoiceBack.setStatus("3");
invoiceBack.setResultMsg("k:客户系统回调异常,status=" + status);
}
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
} catch (Exception e) {
log.info("{}:发票回调接口,发送数据异常,id={},e={}", ZQ_BACK, id, e.toString());
invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("运维:发送数据异常");
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
}
}
/**
* 查询发票查询
*/
private String getInvoiceQuery(InvoiceBack invoiceBack, BillInfo billInfo) {
IInvoiceApiService invoiceService = invoiceServiceFactory.getService("elephantV6_invoice");
Companyservice companyservice = new Companyservice();
companyservice.setCompanyid(Long.valueOf(invoiceBack.getIdentity()));
companyservice.setSellertax(billInfo.getSellerTaxnum());
BillInfo billInfoQuery = new BillInfo();
billInfoQuery.setFpqqlsh("[\"" + billInfo.getFpqqlsh() + "\"]");
billInfoQuery.setOutTradeOrderno(billInfo.getOutTradeOrderno());
log.info("发票回调getOutTradeOrderno()={},invoice.getFpqqlsh()={}", billInfoQuery.getOutTradeOrderno(), billInfoQuery.getFpqqlsh());
HXResponse resultDxhy = invoiceService.batchQueryInvoices(billInfoQuery, "fpqqlsh", companyservice);
return resultDxhy.getMessage();
}
/**
* @author kk
* @date 2024/4/10 20:32
* @param: []
* @return: 重汽数电回推补偿机制
*/
public void sdBackInvoiceJiuBan() {
// 发票回调补偿机制。
log.info("================================[重汽回调定时任务开始执行]=============================");
log.info("{}:查询回调表信息,查询条件为:status=7", ZQ_BACK);
QueryWrapper<InvoiceBack> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", "7");
List<InvoiceBack> invoiceBackList = invoiceBackMapper.selectList(queryWrapper);
log.info("{}:查询到{}条带回调订单", ZQ_BACK, invoiceBackList.size());
for (InvoiceBack invoiceBack : invoiceBackList) {
String id = invoiceBack.getSystemOrderno();
String identity = invoiceBack.getIdentity();
log.info("{}:开始处理回调订单,identity={},id={},", ZQ_BACK, identity, id);
if (StrUtil.isEmpty(id)) {
log.info("{}:发票回调,回调id为空", ZQ_BACK);
invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("运维排查:传入id为空");
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue;
}
log.info("{}:订单号{},开始回调", ZQ_BACK, id);
ICompanyservicePropService companyserviceProp = SpringUtils.getBean(ICompanyservicePropService.class);
CompanyserviceProp secretIdProp = companyserviceProp.selectPropByKey(Long.valueOf(identity), "aisino_callback_url");
if (secretIdProp == null || secretIdProp.getValue() == null || "".equals(secretIdProp.getValue())) {
log.info("{}发票回调,未配置回调地址{}", ZQ_BACK, identity);
invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("运维排查:未配置回调地址");
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue;
}
String callBackUrl = secretIdProp.getValue();
log.info("{}:发票回调,订单号{},回调地址{}", ZQ_BACK, id, callBackUrl);
Invoice invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id);
if (invoice == null) {
log.info("{}:当前发票未查询到Invoice信息,开始请求大象接口获取", ZQ_BACK);
log.info("通过billInfo组装,id为:{}", id);
BillInfo billInfo = billInfoMapper.selectByOutTradeOrderno(Long.valueOf(identity), id);
if (BeanUtil.isEmpty(billInfo)) {
log.info("{}:billInfo中不存咋,id为:{}", ZQ_BACK, id);
}
// 发票查询
String messageQhery = getInvoiceQuery(invoiceBack, billInfo);
invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id);
log.info("{}:调用回调接口拉取后,Invoice存在状态为{},回调查询发票结果为:{}", ZQ_BACK, invoice != null, messageQhery);
if (invoice == null) {
log.info("{}:查询到Invoice信息,回调后还是未查询到Invoice", ZQ_BACK);
invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("k:回调后还是未查询到Invoice");
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue; continue;
} }
} catch (Exception e) {
log.info(ZQ_BACK_DXHY + "发票回调接口,发送数据异常,id={},e={}", id,e.toString()); }
invoiceBack.setStatus("2");
invoiceBack.setBackMsg("发送数据异常"); Integer stateInvoice = invoice.getState();
String fpqqlsh = invoice.getFpqqlsh();
String ddh = invoice.getOutTradeOrderno();
log.info("{}:查询到Invoice信息,发票状态为:{}", ZQ_BACK, stateInvoice);
if (stateInvoice == 20) {
// 开票中
log.info("{}:开具中,调用查询,fpqqlsh={},ddh={}", ZQ_BACK, fpqqlsh, ddh);
BillInfo billInfo = new BillInfo();
billInfo.setFpqqlsh(invoice.getFpqqlsh());
billInfo.setOutTradeOrderno(invoice.getOutTradeOrderno());
// 发票查询
String messageQhery = getInvoiceQuery(invoiceBack, billInfo);
invoice = invoiceMapper.selectByOutTradeOrdernoNoUpdateBy(Long.valueOf(identity), id);
log.info("{}:调用回调接口拉取后,Invoice存在状态为{},回调查询发票结果为:{}", ZQ_BACK, invoice != null, messageQhery);
if (invoice == null) {
log.info("{}:查询到Invoice信息,回调后还是未查询到Invoice", ZQ_BACK);
invoiceBack.setStatus(InvoiceBackStatusEnum.MULTIPLE_FAILURES.getCode());
invoiceBack.setBackMsg("k:回调后还是未查询到Invoice");
invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue;
}
} else if (stateInvoice == 22) {
// 开票失败
log.info("{}:开具失败,递交回调,fpqqlsh={},ddh={}", ZQ_BACK, fpqqlsh, ddh);
} else if (stateInvoice == 2) {
// 开票成功
log.info("{}:开具成功,递交回调,fpqqlsh={},ddh={}", ZQ_BACK, fpqqlsh, ddh);
} else {
// 未解析状态
log.info("{}:查询到Invoice信息,发票状态为:{},未解析状态", ZQ_BACK, stateInvoice);
invoiceBack.setStatus(InvoiceBackStatusEnum.CALLBACK_FAILED.getCode());
invoiceBack.setBackMsg("发票状态为" + stateInvoice + ",未解析状态");
invoiceBack.setUpdateTime(new Date()); invoiceBack.setUpdateTime(new Date());
invoiceBackMapper.updateInvoiceBack(invoiceBack); invoiceBackMapper.updateInvoiceBack(invoiceBack);
continue;
}
// 明细重插
List<InvoiceDetail> invoiceDetailList = invoiceMapper.selectInvoiceIdForInvoiceDetailList(invoice.getId());
if (!invoiceDetailList.isEmpty()) {
invoice.setInvoiceDetailList(invoiceDetailList);
} }
// 回调重汽
backZq(id, invoice, callBackUrl, invoiceBack);
} }
log.info(ZQ_BACK_DXHY + "定时任务执行结束---"); log.info("=======================[重汽回调定时任务执行结束]=================================");
} }
} }

@ -112,7 +112,7 @@ public class QueryInvoiceTask extends TimerTask {
invoiceBackVali.setBackUrl(""); invoiceBackVali.setBackUrl("");
invoiceBackVali.setStatus("0"); invoiceBackVali.setStatus("0");
invoiceBackVali.setCreateTime(new Date()); invoiceBackVali.setCreateTime(new Date());
invoiceBackVali.setSystemOrderno(invoice.getOutTradeOrderno()); invoiceBackVali.setSystemOrderno(invoice.getFpqqlsh());
invoiceBackVali.setBackMsg(""); invoiceBackVali.setBackMsg("");
invoiceBackVali.setResultCode(kpStatus); invoiceBackVali.setResultCode(kpStatus);
invoiceBackVali.setResultMsg(kpMsg); invoiceBackVali.setResultMsg(kpMsg);

@ -118,7 +118,7 @@ public class RedInvoiceBackTask {
//处理返回结果 //处理返回结果
InvoiceBack invoiceBack = new InvoiceBack(); InvoiceBack invoiceBack = new InvoiceBack();
invoiceBack.setId(IdUtil.randomUUID()); invoiceBack.setId(IdUtil.randomUUID());
invoiceBack.setSystemOrderno(invoice.getOutTradeOrderno()); invoiceBack.setSystemOrderno(invoice.getFpqqlsh());
invoiceBack.setBackUrl(secretIdProp.getValue()); invoiceBack.setBackUrl(secretIdProp.getValue());
invoiceBack.setIdentity(String.valueOf(companyserviceProp.getCompanyid())); invoiceBack.setIdentity(String.valueOf(companyserviceProp.getCompanyid()));
invoiceBack.setCreateTime(new Date()); invoiceBack.setCreateTime(new Date());

@ -260,6 +260,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where a.company_id = #{companyId} and a.out_trade_orderno = #{out_trade_orderno} and a.update_by = #{update_by} order by a.id desc where a.company_id = #{companyId} and a.out_trade_orderno = #{out_trade_orderno} and a.update_by = #{update_by} order by a.id desc
</select> </select>
<select id="selectByOutTradeOrdernoListNoUpdateBy" resultMap="InvoiceInvoiceDetailResult">
select a.id, a.bill_info_id, a.company_id, a.system_orderno, a.out_trade_orderno, a.fpqqlsh, a.invoice_type, a.state, a.c_invoiceid, a.fpdm, a.fphm, a.kprq, a.buyer_name, a.buyer_taxnum, a.buyer_address, a.buyer_telephone, a.buyer_account, a.buyer_email, a.buyer_phone, a.seller_name, a.seller_taxnum, a.seller_address, a.seller_telephone, a.seller_account, a.message, a.clerk, a.payee, a.checker, a.taxfreeamt, a.tax, a.taxamt, a.origin_fpdm, a.origin_fphm, a.jym, a.qr_code, a.machine_code, a.cipher_text, a.invoice_pdf_url, a.invoice_jpg_url,a.invoice_file_storage, a.invoice_msg, a.invoice_result_msg, a.product_oil_flag, a.qdbz, a.c_ofd_url, a.fjh, a.terminal_number,a.deprecate_type,a.deprecate_reason, a.create_by, a.create_time, a.update_by, a.update_time,
b.id as sub_id, b.invoice_id as sub_invoice_id, b.index as sub_index, b.good_name as sub_good_name, b.num as sub_num, b.price as sub_price, b.hsbz as sub_hsbz, b.taxrate as sub_taxrate, b.spec as sub_spec, b.unit as sub_unit, b.spbm as sub_spbm, b.bmbbh as sub_bmbbh, b.zsbm as sub_zsbm, b.fphxz as sub_fphxz, b.yhzcbs as sub_yhzcbs, b.zzstsgl as sub_zzstsgl, b.lslbs as sub_lslbs, b.kce as sub_kce, b.taxfreeamt as sub_taxfreeamt, b.tax as sub_tax, b.taxamt as sub_taxamt, b.tspz as sub_tspz, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by
from invoice a
left join invoice_detail b on b.invoice_id = a.id
where a.company_id = #{companyId} and a.out_trade_orderno = #{out_trade_orderno} order by a.id desc
</select>
<select id="selectByFpdmFphm" resultMap="InvoiceInvoiceDetailResult"> <select id="selectByFpdmFphm" resultMap="InvoiceInvoiceDetailResult">
select a.id, a.bill_info_id, a.company_id, a.system_orderno, a.out_trade_orderno, a.fpqqlsh, a.invoice_type, a.state, a.c_invoiceid, a.fpdm, a.fphm, a.kprq, a.buyer_name, a.buyer_taxnum, a.buyer_address, a.buyer_telephone, a.buyer_account, a.buyer_email, a.buyer_phone, a.seller_name, a.seller_taxnum, a.seller_address, a.seller_telephone, a.seller_account, a.message, a.clerk, a.payee, a.checker, a.taxfreeamt, a.tax, a.taxamt, a.origin_fpdm, a.origin_fphm, a.jym, a.qr_code, a.machine_code, a.cipher_text, a.invoice_pdf_url, a.invoice_jpg_url,a.invoice_file_storage, a.invoice_msg, a.invoice_result_msg, a.product_oil_flag, a.qdbz, a.c_ofd_url, a.fjh, a.terminal_number,a.deprecate_type,a.deprecate_reason, a.create_by, a.create_time, a.update_by, a.update_time, select a.id, a.bill_info_id, a.company_id, a.system_orderno, a.out_trade_orderno, a.fpqqlsh, a.invoice_type, a.state, a.c_invoiceid, a.fpdm, a.fphm, a.kprq, a.buyer_name, a.buyer_taxnum, a.buyer_address, a.buyer_telephone, a.buyer_account, a.buyer_email, a.buyer_phone, a.seller_name, a.seller_taxnum, a.seller_address, a.seller_telephone, a.seller_account, a.message, a.clerk, a.payee, a.checker, a.taxfreeamt, a.tax, a.taxamt, a.origin_fpdm, a.origin_fphm, a.jym, a.qr_code, a.machine_code, a.cipher_text, a.invoice_pdf_url, a.invoice_jpg_url,a.invoice_file_storage, a.invoice_msg, a.invoice_result_msg, a.product_oil_flag, a.qdbz, a.c_ofd_url, a.fjh, a.terminal_number,a.deprecate_type,a.deprecate_reason, a.create_by, a.create_time, a.update_by, a.update_time,
b.id as sub_id, b.invoice_id as sub_invoice_id, b.index as sub_index, b.good_name as sub_good_name, b.num as sub_num, b.price as sub_price, b.hsbz as sub_hsbz, b.taxrate as sub_taxrate, b.spec as sub_spec, b.unit as sub_unit, b.spbm as sub_spbm, b.bmbbh as sub_bmbbh, b.zsbm as sub_zsbm, b.fphxz as sub_fphxz, b.yhzcbs as sub_yhzcbs, b.zzstsgl as sub_zzstsgl, b.lslbs as sub_lslbs, b.kce as sub_kce, b.taxfreeamt as sub_taxfreeamt, b.tax as sub_tax, b.taxamt as sub_taxamt, b.tspz as sub_tspz, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by b.id as sub_id, b.invoice_id as sub_invoice_id, b.index as sub_index, b.good_name as sub_good_name, b.num as sub_num, b.price as sub_price, b.hsbz as sub_hsbz, b.taxrate as sub_taxrate, b.spec as sub_spec, b.unit as sub_unit, b.spbm as sub_spbm, b.bmbbh as sub_bmbbh, b.zsbm as sub_zsbm, b.fphxz as sub_fphxz, b.yhzcbs as sub_yhzcbs, b.zzstsgl as sub_zzstsgl, b.lslbs as sub_lslbs, b.kce as sub_kce, b.taxfreeamt as sub_taxfreeamt, b.tax as sub_tax, b.taxamt as sub_taxamt, b.tspz as sub_tspz, b.create_by as sub_create_by, b.create_time as sub_create_time, b.update_by as sub_update_by

Loading…
Cancel
Save