diff --git a/src/main/java/com/ycwl/basic/service/notify/WechatSubscribeNotifyTriggerService.java b/src/main/java/com/ycwl/basic/service/notify/WechatSubscribeNotifyTriggerService.java index 0946a6c3..39a70bef 100644 --- a/src/main/java/com/ycwl/basic/service/notify/WechatSubscribeNotifyTriggerService.java +++ b/src/main/java/com/ycwl/basic/service/notify/WechatSubscribeNotifyTriggerService.java @@ -244,12 +244,31 @@ public class WechatSubscribeNotifyTriggerService { if (StringUtils.isBlank(key)) { continue; } - String rawValue = entry.getValue() != null ? entry.getValue().toString() : ""; - dataParam.put(key, render(rawValue, variables)); + dataParam.put(key, renderValue(entry.getValue(), variables)); } return dataParam; } + @SuppressWarnings("unchecked") + private static Object renderValue(Object value, Map variables) { + if (value == null) { + return ""; + } + if (value instanceof String) { + return render((String) value, variables); + } + if (value instanceof Map) { + Map mapValue = (Map) value; + Map result = new HashMap<>(); + for (Map.Entry entry : mapValue.entrySet()) { + result.put(entry.getKey(), renderValue(entry.getValue(), variables)); + } + return result; + } + // 其他类型(数字、布尔等)直接返回 + return value; + } + private static String renderOrDefault(String template, Map variables, String defaultValue) { if (StringUtils.isBlank(template)) { return defaultValue; diff --git a/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java b/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java index aad74d8a..fbf5104a 100644 --- a/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java @@ -641,6 +641,12 @@ public class TaskTaskServiceImpl implements TaskService { variables.put("scenicName", scenic.getName()); variables.put("faceId", item.getFaceId()); variables.put("videoId", item.getVideoId()); + ScenicConfigManager configManager = scenicRepository.getScenicConfigManager(item.getScenicId()); + if (configManager.getBoolean("grouping_enable", false)) { + variables.put("videoResultPage", "travelVideoCenter"); + } else { + variables.put("videoResultPage", "videoSynthesis"); + } variables.put("videoDeviceCount", videoTaskRepository.getTaskDeviceNum(taskId)); variables.put("videoLensCount", videoTaskRepository.getTaskLensNum(taskId)); variables.put("videoShotTime", DateUtil.format(videoTaskRepository.getTaskShotDate(taskId), "yyyy-MM-dd HH:mm"));