|
@@ -28,6 +28,9 @@ public class MentalHealthScreenService {
|
|
|
@Resource
|
|
@Resource
|
|
|
private EmotionAlertMapper emotionAlertMapper;
|
|
private EmotionAlertMapper emotionAlertMapper;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private WechatAlertTemplateService wechatAlertTemplateService;
|
|
|
|
|
+
|
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
|
|
|
|
// === PHQ-9 量表定义 ===
|
|
// === PHQ-9 量表定义 ===
|
|
@@ -117,6 +120,22 @@ public class MentalHealthScreenService {
|
|
|
createAlertFromScreen(screen, severity, riskFlags);
|
|
createAlertFromScreen(screen, severity, riskFlags);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // Push notification for high-severity alerts
|
|
|
|
|
+ if ("severe".equals(severity) || riskFlags.contains("suicide_ideation")) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ wechatAlertTemplateService.sendCrisisAlertToParents(
|
|
|
|
|
+ screen.getChildId(), "psychological_screening",
|
|
|
|
|
+ "high",
|
|
|
|
|
+ "心理筛查风险告警",
|
|
|
|
|
+ riskFlags.contains("suicide_ideation") ?
|
|
|
|
|
+ "筛查发现自杀/自伤风险,请立即关注" :
|
|
|
|
|
+ screen.getScreenType() + "筛查严重异常"
|
|
|
|
|
+ );
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ log.error("发送筛查告警推送失败: {}", e.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return toVO(screen);
|
|
return toVO(screen);
|
|
|
}
|
|
}
|
|
|
|
|
|