fix 优化操作日志
This commit is contained in:
@@ -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)
|
||||
{
|
||||
await _dbContext.InsertAsync(new OperateLogEntity
|
||||
var now = DateTime.Now;
|
||||
var userId = _currentUser.GetIntSubjectId();
|
||||
var userName = _currentUser.GetName();
|
||||
|
||||
try
|
||||
{
|
||||
Type = type,
|
||||
Content = content
|
||||
});
|
||||
await _dbContext.InsertAsync(new OperateLogEntity
|
||||
{
|
||||
Type = type,
|
||||
Content = content,
|
||||
Operator = userName,
|
||||
CreateTime = now,
|
||||
ModifiedTime = now,
|
||||
CreatedBy = userId,
|
||||
ModifiedBy = userId
|
||||
});
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_logger.LogError(e, "记录操作日志失败:{error}", e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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("工作网格尚未配置,请联系管理员");
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
Reference in New Issue
Block a user