| | |
| | | tmsApBill.setSettledAmount(BigDecimal.ZERO); |
| | | tmsApBill.setInvoiceStatus(0); |
| | | tmsApBill.setStatus(0); |
| | | tmsApBill.setPushStatus(0); // 初始推送状态:未推送 |
| | | tmsApBill.setCreateBy(SecurityUtils.getUsername()); |
| | | tmsApBillMapper.insertTmsApBill(tmsApBill); |
| | | |
| | |
| | | // 发送API请求 |
| | | ResponseEntity<String> response = restTemplate.exchange(apiUrl, HttpMethod.POST, entity, String.class); |
| | | logger.info("推送应付数据到外部系统成功,响应: {}", response.getBody()); |
| | | |
| | | // 更新推送状态为成功 |
| | | tmsApBill.setPushStatus(2); |
| | | tmsApBill.setPushTime(DateUtils.getNowDate()); |
| | | tmsApBill.setPushFailReason(null); |
| | | tmsApBillMapper.updateTmsApBill(tmsApBill); |
| | | } catch (Exception e) { |
| | | logger.error("推送应付数据到外部系统失败,账单ID: {}, 供应商: {}", |
| | | tmsApBill.getId(), tmsApBill.getServiceProviderName(), e); |
| | | logger.debug("推送失败的请求数据: {}", JSON.toJSONString(requestBody)); |
| | | // 推送失败不影响主流程,记录日志即可 |
| | | |
| | | // 更新推送状态为失败 |
| | | tmsApBill.setPushStatus(3); |
| | | tmsApBill.setPushTime(DateUtils.getNowDate()); |
| | | tmsApBill.setPushFailReason(e.getMessage()); |
| | | tmsApBillMapper.updateTmsApBill(tmsApBill); |
| | | } |
| | | } |
| | | |