using Furion.DatabaseAccessor; using Furion.Schedule; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace FlexJobApi.Core { /// /// 定时根据身份证计算用户年龄 /// public class CalcUserAgeByIdCardJob( IRepository rep ) : IJob { private readonly IRepository rep = rep; public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken) { var enities = await rep.AsQueryable() .Where(it => it.Type == EnumUserType.Personal && it.Identity != null && it.Identity != "") .ToListAsync(stoppingToken); if (enities.IsNotNull()) { foreach (var entity in enities) { var age = entity.Identity.GetAge(); if (age.HasValue) { entity.Age = age; } } await rep.UpdateNowAsync(enities); } } } }