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);
foreach (var entity in enities)
{
var age = entity.Identity.GetAge();
entity.Age = age;
}
}
}
}