Browse Source

feat: 新增任务状态数据删除接口并同步通知中恒

支持 enabled 开关控制是否推送中恒,inspect.taskStatus-delete-push.enabled:false
yanyuan
WangGuangYuan 4 weeks ago
parent
commit
333cf44d5c
2 changed files with 24 additions and 5 deletions
  1. +15
    -0
      inspect-main/inspect-main-api/src/main/java/com/inspect/api/service/TaskStatusDeletePushService.java
  2. +9
    -5
      inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java

+ 15
- 0
inspect-main/inspect-main-api/src/main/java/com/inspect/api/service/TaskStatusDeletePushService.java View File

@ -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<String> 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;


+ 9
- 5
inspect-main/inspect-main-task/src/main/java/com/inspect/taskstatus/controller/PatrolTaskStatusController.java View File

@ -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);


Loading…
Cancel
Save