feat 访客强制离场通知,自动离场增加节假日判断

This commit is contained in:
2025-12-09 11:16:09 +08:00
parent 59557ab617
commit 726e62d032
7 changed files with 107 additions and 20 deletions

View File

@@ -28,7 +28,7 @@ public class HolidayService : IHolidayService
var exists = await _dbContext.Queryable<HolidayEntity>()
.WhereIF(req.Id.HasValue, x => x.Id != req.Id)
.Where(x => x.Year == req.Year)
.Where(x => x.Start < req.End && req.Start < x.End)
.Where(x => x.Start <= req.End && req.Start <= x.End)
.Where(x => x.Type != req.Type)
.AnyAsync();
@@ -36,20 +36,22 @@ public class HolidayService : IHolidayService
if (!req.Id.HasValue)
{
await _dbContext.InsertAsync(req.Adapt<HolidayEntity>());
var holiday = req.Adapt<HolidayEntity>();
await _dbContext.InsertAsync(holiday);
}
else
{
var entity = await _dbContext.Queryable<HolidayEntity>().SingleAsync(x => x.Id == req.Id);
entity.ThrowIfNull("节假日数据不存在");
var holiday = await _dbContext.Queryable<HolidayEntity>().SingleAsync(x => x.Id == req.Id);
holiday.ThrowIfNull("节假日数据不存在");
req.Adapt(entity);
await _dbContext.UpdateAsync(entity);
req.Adapt(holiday);
await _dbContext.UpdateAsync(holiday);
}
}
public async Task DeleteAsync(long id)
{
await _dbContext.Deleteable<HolidayEntity>().Where(x => x.Id == id).ExecuteCommandAsync();
var holiday = await _dbContext.Queryable<HolidayEntity>().Where(x => x.Id == id).SingleAsync();
await _dbContext.DeleteReallyAsync(holiday);
}
}

View File

@@ -22,4 +22,10 @@ public class MessagesController : ControllerBase
{
await _jinkoApiService.SendWorkMessageAsync(request);
}
[HttpPost("dingtalk/workgrid/workmessage")]
public async Task SendWorkMessageByWorkGridAsync(DingTalkWorkMessageRequest request)
{
await _jinkoApiService.SendWorkMessageByWorkGridAsync(request);
}
}

View File

@@ -5,4 +5,5 @@ namespace Dlhis.Basic.Common.Message.Services;
public interface IJinkoApiService : ISingletonDependency
{
Task SendWorkMessageAsync(DingTalkWorkMessageRequest request);
Task SendWorkMessageByWorkGridAsync(DingTalkWorkMessageRequest request);
}

View File

@@ -81,7 +81,12 @@ public class JinkoApiService : IJinkoApiService
var jsonResponse = await response.Content.ReadAsStringAsync();
var jObject = JObject.Parse(jsonResponse);
(jObject.Value<string>("errcode") == "0").ThrowIfFalse(jObject.Value<string>("errmsg"));
(jObject.Value<string>("errcode") == "0").ThrowIfFalse(jObject.Value<string>("errmsg"));
}
public async Task SendWorkMessageByWorkGridAsync(DingTalkWorkMessageRequest request)
{
await SendWorkMessageAsync(request);
using var scope = _serviceProvider.CreateScope();
var ol = scope.ServiceProvider.GetService<IOperateLog>();