diff --git a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs
index 96bd0278..f7e4a84c 100644
--- a/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs
+++ b/Src/Dlhis.Basic/Device/Request/DeviceSaveRequest.cs
@@ -43,7 +43,6 @@ public class DeviceSaveRequest : IValidatableObject
///
/// 心跳间隔
///
- [Range(0, int.MaxValue)]
public int HeartbeatInterval { get; set; }
///
@@ -83,5 +82,10 @@ public class DeviceSaveRequest : IValidatableObject
{
yield return new ValidationResult($"{DeviceTypeEnumType.Door.GetDescription()}才可设置作为考勤设备", new[] { nameof(AsAttendance) });
}
+
+ if (HeartbeatInterval != 0 && HeartbeatInterval < 30)
+ {
+ yield return new ValidationResult($"心跳间隔需要设置>=30秒", new[] { nameof(HeartbeatInterval) });
+ }
}
}
diff --git a/Src/Dlhis.ScheduledTask/CommonJobs/HeartbeatJob.cs b/Src/Dlhis.ScheduledTask/CommonJobs/HeartbeatJob.cs
index 0d0c11b4..a8bd8579 100644
--- a/Src/Dlhis.ScheduledTask/CommonJobs/HeartbeatJob.cs
+++ b/Src/Dlhis.ScheduledTask/CommonJobs/HeartbeatJob.cs
@@ -24,7 +24,7 @@ public class HeartbeatJob
_dbContext.Client.QueryFilter.ClearAndBackup();
try
{
- var devices = await _dbContext.Queryable().Where(x => x.Enable).ToListAsync();
+ var devices = await _dbContext.Queryable().Where(x => x.Enable).Where(x => x.HeartbeatInterval > 0).ToListAsync();
foreach (var device in devices)
{
try