fix 优化操作日志

This commit is contained in:
2025-03-04 10:27:20 +08:00
parent 045459575a
commit 9f566d016d
3 changed files with 33 additions and 12 deletions

View File

@@ -1,25 +1,46 @@
using Dlhis.Entity.Common.Entities;
using Dlhis.Entity.Common.Enums;
using Kurisu.AspNetCore.Authentication.Abstractions;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
namespace Dlhis.Basic.Common.ApiLog.Services.Implements;
public class OperateLogService : IOperateLog
{
private readonly ICurrentUser _currentUser;
private readonly ILogger<OperateLogService> _logger;
private readonly IDbContext _dbContext;
public OperateLogService(IDbContext dbContext)
public OperateLogService(IDbContext dbContext, ICurrentUser currentUser, ILogger<OperateLogService> logger)
{
_currentUser = currentUser;
_logger = logger;
_dbContext = dbContext.ChangeDb("log");
}
/// <inheritdoc />
public async Task LogAsync(OperateLogType type, string content)
{
var now = DateTime.Now;
var userId = _currentUser.GetIntSubjectId();
var userName = _currentUser.GetName();
try
{
await _dbContext.InsertAsync(new OperateLogEntity
{
Type = type,
Content = content
Content = content,
Operator = userName,
CreateTime = now,
ModifiedTime = now,
CreatedBy = userId,
ModifiedBy = userId
});
}
catch (Exception e)
{
_logger.LogError(e, "记录操作日志失败:{error}", e.Message);
}
}
}

View File

@@ -149,7 +149,7 @@ public class WorkGridService : IWorkGridService
public async Task AssignAsync(WorkGridUserAssignRequest request)
{
var currentFactory = _currentUser.GetStringTenantId();
var currentUserCode = _currentUser.GetUserClaim("jinko-code");
var currentUserCode = _currentUser.GetUserClaim(UserClaimConstants.JinkoCode);
var myWorkGrid = await _dbContext.Queryable<WorkGridEntity>().Where(x => x.LeaderUserCode == currentUserCode).SingleAsync();
myWorkGrid.ThrowIfNull("工作网格尚未配置,请联系管理员");

View File

@@ -5,17 +5,17 @@ using SqlSugar.DbConvert;
namespace Dlhis.Entity.Common.Entities;
[SugarTable(TableName = "OperateLogs")]
[SugarTable(TableName = "OperateLogs", TableDescription = "操作日志")]
public class OperateLogEntity : SugarBaseEntity
{
[SugarColumn(IsNullable = false, SqlParameterDbType = typeof(EnumToStringConvert))]
[SugarColumn(IsNullable = false, ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public OperateLogType Type { get; set; }
[SugarColumn(IsNullable = true, ColumnDataType = "text")]
public string Request { get; set; }
[SugarColumn(IsNullable = false, ColumnDataType = "text")]
public string Content { get; set; }
[SugarColumn(IsNullable = false)]
public string Content { get; set; }
public string Operator { get; set; }
}