Files
jinko.yikatong/Src/Dlhis.ScheduledTask/Jobs/SendMsgToWorkGridLeaderJob.cs
2025-04-09 13:46:55 +08:00

41 lines
1.4 KiB
C#

using Dlhis.Basic.Api;
using Dlhis.Basic.Api.Requests;
using Dlhis.Entity.Basic.Entity;
using Dlhis.ScheduledTask.Attributes;
namespace Dlhis.ScheduledTask.Jobs;
/// <summary>
/// 发送信息到网格长
/// </summary>
[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<WorkGridEntity>()
.LeftJoin<GainfoEntity>((x, ga) => x.LeaderUserCode == ga.Code)
.Select((x, ga) => new
{
x.LeaderUserCode,
WorkGridName = x.Name,
UserName = x.Name,
})
.ToListAsync();
var dingtalkApi = serviceProvider.GetService<IDingTalkApi>();
foreach (var items in infos.Chunk(5))
{
await dingtalkApi.SendWorkMessageAsync(new JinkoSendWorkMessageRequest
{
Content = "你好,网格长,请看到消息后,前往人脸应用平台,执行明天的排班,已排班的请忽略!",
WorkCodes = items.Select(x => x.LeaderUserCode).ToList()
});
}
}
}