using Dlhis.Basic.Api; using Dlhis.Basic.Api.Requests; using Dlhis.Entity.Basic.Entity; using Dlhis.ScheduledTask.Attributes; namespace Dlhis.ScheduledTask.Jobs; /// /// 发送信息到网格长 /// [RecurringJob(nameof(SendMsgToWorkGridLeaderJob), "0 0 18 * * ? ", Name = "发送信息到网格长")] public class SendMsgToWorkGridLeaderJob : BaseJob { public SendMsgToWorkGridLeaderJob(IServiceProvider serviceProvider) : base(serviceProvider) { } protected override async Task RunAsync(IServiceProvider serviceProvider) { var infos = await DbContext.Queryable() .LeftJoin((x, ga) => x.LeaderUserCode == ga.Code) .Select((x, ga) => new { x.LeaderUserCode, WorkGridName = x.Name, UserName = x.Name, }) .ToListAsync(); var dingtalkApi = serviceProvider.GetService(); foreach (var items in infos.Chunk(5)) { await dingtalkApi.SendWorkMessageAsync(new JinkoSendWorkMessageRequest { Content = "你好,网格长,请看到消息后,前往人脸应用平台,执行明天的排班,已排班的请忽略!", WorkCodes = items.Select(x => x.LeaderUserCode).ToList() }); } } }