fix 调整时间范围,创建同步时间任务

This commit is contained in:
2025-07-01 12:01:00 +08:00
parent d9a21b385a
commit df0d7efbe7
4 changed files with 37 additions and 26 deletions

View File

@@ -32,7 +32,7 @@ public class CreateGetUploadRecordJob : BaseJob
if (deviceTask == null) if (deviceTask == null)
{ {
deviceTask = new DeviceTaskEntity await DbContext.InsertAsync(new DeviceTaskEntity
{ {
DeviceUniqueNo = device.UniqueNo, DeviceUniqueNo = device.UniqueNo,
Status = DeviceTaskStatusEnumType.Wait, Status = DeviceTaskStatusEnumType.Wait,
@@ -42,9 +42,7 @@ public class CreateGetUploadRecordJob : BaseJob
Type = DeviceTaskEnumType.UploadRecord, Type = DeviceTaskEnumType.UploadRecord,
Priority = 50, Priority = 50,
Source = "定时任务创建设备获取通行记录任务" Source = "定时任务创建设备获取通行记录任务"
}; });
await DbContext.InsertAsync(deviceTask);
} }
else else
{ {

View File

@@ -17,32 +17,45 @@ public class CreateSyncServerDateTimeJob : BaseJob
protected override async Task RunAsync(IServiceProvider serviceProvider) protected override async Task RunAsync(IServiceProvider serviceProvider)
{ {
var deviceUniqueNos = await DbContext.Queryable<DeviceTaskEntity>()
.Where(x => x.Status == DeviceTaskStatusEnumType.Wait || x.Status == DeviceTaskStatusEnumType.Process)
.Where(x => x.Type == DeviceTaskEnumType.SyncDateTime)
.Select(x => x.DeviceUniqueNo)
.Distinct()
.ToListAsync();
var devices = await DbContext.Queryable<DeviceEntity>() var devices = await DbContext.Queryable<DeviceEntity>()
.Where(x => !deviceUniqueNos.Contains(x.UniqueNo))
.Where(x => x.Enable) .Where(x => x.Enable)
.ToListAsync(); .ToListAsync();
var tasks = devices.Select(x => new DeviceTaskEntity foreach (var device in devices)
{ {
DeviceUniqueNo = x.UniqueNo, var deviceTask = await DbContext.Queryable<DeviceTaskEntity>()
Status = DeviceTaskStatusEnumType.Wait, .Where(x => x.DeviceUniqueNo == device.UniqueNo)
.Where(x => x.Type == DeviceTaskEnumType.SyncDateTime)
.OrderByDescending(x => x.ModifiedTime)
.FirstAsync();
TenantId = x.TenantId, if (deviceTask == null)
Version = 0, {
UserNo = string.Empty, await DbContext.InsertAsync(new DeviceTaskEntity
Type = DeviceTaskEnumType.SyncDateTime, {
DeviceType = x.Type, DeviceUniqueNo = device.UniqueNo,
Priority = 49, Status = DeviceTaskStatusEnumType.Wait,
Source = "定时任务创建设备同步时间任务" TenantId = device.TenantId,
}).ToList(); Version = 0,
UserNo = string.Empty,
Type = DeviceTaskEnumType.SyncDateTime,
DeviceType = device.Type,
Priority = 49,
Source = "定时任务创建设备同步时间任务"
});
}
else
{
if (deviceTask.Status == DeviceTaskStatusEnumType.Success)
{
deviceTask.Status = DeviceTaskStatusEnumType.Wait;
deviceTask.Version = 0;
deviceTask.CreateTime = DateTime.Now;
deviceTask.ModifiedTime = DateTime.Now;
await DbContext.InsertAsync(tasks); await DbContext.UpdateAsync(deviceTask);
}
}
}
} }
} }

View File

@@ -241,7 +241,7 @@ public class AssignmentService : IAssignmentService
private async Task<List<TaskDto>> GetDataAsync(DeviceTaskGetRequest request) private async Task<List<TaskDto>> GetDataAsync(DeviceTaskGetRequest request)
{ {
var limitTime = DateTime.Now.AddDays(-5); var limitTime = DateTime.Now.AddDays(-3);
var data = await CommonHelper.RetryAsync(async () => var data = await CommonHelper.RetryAsync(async () =>
{ {

View File

@@ -106,7 +106,7 @@ public class DeviceTaskAssignmentService : IDeviceTaskAssignmentService
public async Task<Pagination<DeviceTaskAssignmentResponse>> GetPageWarningAsync(DeviceTaskAssignmentRequest request) public async Task<Pagination<DeviceTaskAssignmentResponse>> GetPageWarningAsync(DeviceTaskAssignmentRequest request)
{ {
var limitTime = DateTime.Now.AddDays(-5); var limitTime = DateTime.Now.AddDays(-3);
var page = await _dbContext.Queryable<DeviceTaskEntity>() var page = await _dbContext.Queryable<DeviceTaskEntity>()
.LeftJoin<DeviceEntity>((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo) .LeftJoin<DeviceEntity>((deviceTask, device) => deviceTask.DeviceUniqueNo == device.UniqueNo)