diff --git a/inspect-main/inspect-main-api/src/main/java/com/inspect/api/service/TaskStatusDeletePushService.java b/inspect-main/inspect-main-api/src/main/java/com/inspect/api/service/TaskStatusDeletePushService.java index d755fcb..ccfe0d3 100644 --- a/inspect-main/inspect-main-api/src/main/java/com/inspect/api/service/TaskStatusDeletePushService.java +++ b/inspect-main/inspect-main-api/src/main/java/com/inspect/api/service/TaskStatusDeletePushService.java @@ -41,6 +41,10 @@ public class TaskStatusDeletePushService { /** token 请求头名称(外部平台固定) */ private static final String TOKEN_HEADER = "joinbright-token"; + /** 是否推送中恒:false 时删除照常执行,只是不发送 MQTT 消息 */ + @Value("${inspect.taskStatus-delete-push.enabled:false}") + private boolean enabled; + /** MQTT 消息发送接口地址 */ @Value("${inspect.taskStatus-delete-push.send-topic-url:http://192.168.129.2:32799/jb-gateway/jb-nessp-external/api/mqtt/sendTopic}") private String sendTopicUrl; @@ -59,12 +63,23 @@ public class TaskStatusDeletePushService { this.extAuthService = extAuthService; } + /** + * 是否启用推送中恒(供调用方判断是否需要取场站编码等推送参数) + */ + public boolean isEnabled() { + return enabled; + } + /** * 推送删除消息,ids 取 patrol_task_status.task_patrolled_id * * @return 是否推送成功 */ public boolean pushTaskDelete(String stationCode, List taskPatrolledIds) { + if (!enabled) { + log.info("[TASK_STATUS_DELETE] 删除数据推送中恒未启用(inspect.taskStatus-delete-push.enabled=false), 跳过推送"); + return false; + } if (StringUtils.isEmpty(stationCode) || taskPatrolledIds == null || taskPatrolledIds.isEmpty()) { log.error("[TASK_STATUS_DELETE] 推送参数为空, stationCode: {}, ids: {}", stationCode, taskPatrolledIds); return false; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java index 924ee01..c0cea0f 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java @@ -412,11 +412,15 @@ public class PatrolTaskStatusController extends BaseController { int deleteCount = this.patrolTaskStatusService.deletePatrolTaskStatusByTaskPatrolledIds(ids); log.info("[TASK_STATUS_DELETE] 删除完成, taskPatrolledIds: {}, deleteCount: {}", ids, deleteCount); - // 推送消息通知中恒(失败不影响删除结果) - String stationCode = (String) redisService.redisTemplate.opsForValue().get(STATION_CODE_REDIS_KEY); - boolean pushSuccess = taskStatusDeletePushService.pushTaskDelete(stationCode, ids); - if (!pushSuccess) { - log.error("[TASK_STATUS_DELETE] 推送删除消息失败, taskPatrolledIds: {}, stationCode: {}", ids, stationCode); + // 推送消息通知中恒(未启用或推送失败都不影响删除结果) + boolean pushSuccess = false; + String stationCode = null; + if (taskStatusDeletePushService.isEnabled()) { + stationCode = (String) redisService.redisTemplate.opsForValue().get(STATION_CODE_REDIS_KEY); + pushSuccess = taskStatusDeletePushService.pushTaskDelete(stationCode, ids); + if (!pushSuccess) { + log.error("[TASK_STATUS_DELETE] 推送删除消息失败, taskPatrolledIds: {}, stationCode: {}", ids, stationCode); + } } AjaxResult result = AjaxResult.success(); result.put("deleteCount", deleteCount);