fix 优化操作日志

This commit is contained in:
2025-03-04 10:27:20 +08:00
parent 3e0752d852
commit 2f32885663
3 changed files with 33 additions and 12 deletions

View File

@@ -1,25 +1,46 @@
using Dlhis.Entity.Common.Entities; using Dlhis.Entity.Common.Entities;
using Dlhis.Entity.Common.Enums; using Dlhis.Entity.Common.Enums;
using Kurisu.AspNetCore.Authentication.Abstractions;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
namespace Dlhis.Basic.Common.ApiLog.Services.Implements; namespace Dlhis.Basic.Common.ApiLog.Services.Implements;
public class OperateLogService : IOperateLog public class OperateLogService : IOperateLog
{ {
private readonly ICurrentUser _currentUser;
private readonly ILogger<OperateLogService> _logger;
private readonly IDbContext _dbContext; 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"); _dbContext = dbContext.ChangeDb("log");
} }
/// <inheritdoc /> /// <inheritdoc />
public async Task LogAsync(OperateLogType type, string content) public async Task LogAsync(OperateLogType type, string content)
{ {
await _dbContext.InsertAsync(new OperateLogEntity var now = DateTime.Now;
var userId = _currentUser.GetIntSubjectId();
var userName = _currentUser.GetName();
try
{ {
Type = type, await _dbContext.InsertAsync(new OperateLogEntity
Content = content {
}); Type = type,
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) public async Task AssignAsync(WorkGridUserAssignRequest request)
{ {
var currentFactory = _currentUser.GetStringTenantId(); 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(); var myWorkGrid = await _dbContext.Queryable<WorkGridEntity>().Where(x => x.LeaderUserCode == currentUserCode).SingleAsync();
myWorkGrid.ThrowIfNull("工作网格尚未配置,请联系管理员"); myWorkGrid.ThrowIfNull("工作网格尚未配置,请联系管理员");

View File

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