From 68ff33beff11310e830b0615b5a81f83fad0f683 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期日, 08 十一月 2026 23:33:14 +0800
Subject: [PATCH] ai优化

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/call/CallServiceImpl.java |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/call/CallServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/call/CallServiceImpl.java
index d42a4a6..f127ae9 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/call/CallServiceImpl.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/call/CallServiceImpl.java
@@ -16,6 +16,8 @@
 
 import javax.annotation.Resource;
 
+import java.time.Duration;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -30,6 +32,7 @@
  */
 @Service
 @Validated
+@lombok.extern.slf4j.Slf4j
 public class CallServiceImpl implements CallService {
 
     @Resource
@@ -99,12 +102,31 @@
         return callMapper.selectPage(pageReqVO);
     }
 
+    /**
+     * 閲嶅彨锛氬啀鐢熸垚涓�鏉″彨鍙疯褰曪紝璁╁ぇ灞� / 璇婇棿灞忛噸鏂版挱鎶ャ��
+     *
+     * <p>銆愭湰娆′慨澶嶃�戝師瀹炵幇锛�
+     * <pre>
+     *   CallDO callDO = callMapper.getLatestPatientCall(patId);
+     *   if (null != callDO &amp;&amp; callDO.getCalled() == 0) return 0;   // 鈫� 姘歌繙鎴愮珛
+     *   return createCall(createReqVO);
+     * </pre>
+     * 鑰�**鍏ㄩ」鐩病鏈変换浣曞湴鏂规妸 {@code called} 缃负 1**锛坽@code getNextCall} /
+     * {@code getNextInstallCall} 鍙煡 {@code called = 0}锛夆噿 璇ュ畧鍗瘡娆¢兘鍛戒腑 鈬�
+     * <b>閲嶅彨浠庝笉鍐欏叆鏂拌褰�</b>锛屼袱鍧楀睆涔熷氨瀹屽叏娌℃湁鍙嶅簲锛堢幇鍦哄弽棣堝嵆姝わ級銆�
+     *
+     * <p>鐜板湪鍙仛"闃茶繛鐐�"锛氬悓涓�鎮h�� **3 绉掑唴**鐨勯噸澶嶉噸鍙拷鐣ワ紝鍏朵綑鎯呭喌涓�寰嬫甯告柊寤恒��
+     */
     @Override
     public Integer callAgain(CallSaveReqVO createReqVO) {
-        CallDO callDO = callMapper.getLatestPatientCall(createReqVO.getPatId());
-        if (null != callDO && callDO.getCalled() == 0)
-            return 0;
-
+        CallDO latest = callMapper.getLatestPatientCall(createReqVO.getPatId());
+        if (null != latest && null != latest.getCreateTime()) {
+            long seconds = Duration.between(latest.getCreateTime(), LocalDateTime.now()).getSeconds();
+            if (seconds >= 0 && seconds < 3) {
+                log.info("[callAgain] 3 绉掑唴閲嶅閲嶅彨锛屽拷鐣�. patId={} 涓婃={}", createReqVO.getPatId(), latest.getCreateTime());
+                return 0;
+            }
+        }
         return createCall(createReqVO);
     }
 }

--
Gitblit v1.9.3