wujianwei
2026-04-01 8f30b77a480f8921bffe2bf176bf3479f5bcbedc
tms/src/main/java/com/ruoyi/tms/service/impl/TmsReceivableFeeServiceImpl.java
@@ -330,6 +330,7 @@
        tmsArBill.setSettledAmount(BigDecimal.ZERO);
        tmsArBill.setInvoiceStatus(0);
        tmsArBill.setStatus(0);
        tmsArBill.setPushStatus(0); // 初始推送状态:未推送
        tmsArBill.setCreateBy(SecurityUtils.getUsername());
        tmsArBillMapper.insertTmsArBill(tmsArBill);
@@ -481,11 +482,22 @@
            // 发送API请求
            ResponseEntity<String> response = restTemplate.exchange(apiUrl, HttpMethod.POST, entity, String.class);
            logger.info("推送数据到外部系统成功,响应: {}", response.getBody());
            // 更新推送状态为成功
            tmsArBill.setPushStatus(2);
            tmsArBill.setPushTime(DateUtils.getNowDate());
            tmsArBill.setPushFailReason(null);
            tmsArBillMapper.updateTmsArBill(tmsArBill);
        } catch (Exception e) {
            logger.error("推送数据到外部系统失败,账单ID: {}, 客户: {}", 
                tmsArBill.getId(), tmsArBill.getCustomerName(), e);
            logger.debug("推送失败的请求数据: {}", JSON.toJSONString(requestBody));
            // 推送失败不影响主流程,记录日志即可
            // 更新推送状态为失败
            tmsArBill.setPushStatus(3);
            tmsArBill.setPushTime(DateUtils.getNowDate());
            tmsArBill.setPushFailReason(e.getMessage());
            tmsArBillMapper.updateTmsArBill(tmsArBill);
        }
    }