namespace QYZH.InteractiveMagazine.Models.Dto;
///
/// 操作类型常量
///
public static class OperationLogActionType
{
///
/// 新增
///
public const string Create = "Create";
///
/// 修改
///
public const string Update = "Update";
///
/// 删除
///
public const string Delete = "Delete";
///
/// 状态变更
///
public const string StatusChange = "StatusChange";
///
/// 分配
///
public const string Assign = "Assign";
///
/// 修改密码
///
public const string ChangePassword = "ChangePassword";
///
/// 手动增加积分
///
public const string ManualAddPoints = "ManualAddPoints";
///
/// 手动扣除积分
///
public const string ManualDeductPoints = "ManualDeductPoints";
///
/// 补偿任务手动重试
///
public const string CompensationRetry = "CompensationRetry";
///
/// 补偿任务标记已解决
///
public const string CompensationResolve = "CompensationResolve";
}
///
/// 目标类型常量
///
public static class OperationLogTargetType
{
///
/// 管理员
///
public const string AdminUser = "AdminUser";
///
/// 权限菜单
///
public const string AdminMenu = "AdminMenu";
///
/// 管理员角色
///
public const string AdminRole = "AdminRole";
///
/// 用户
///
public const string User = "User";
///
/// 社区留言
///
public const string CommunityMessage = "CommunityMessage";
///
/// 勋章
///
public const string Medal = "Medal";
///
/// AI 基础提示词
///
public const string AiBasePrompt = "AiBasePrompt";
///
/// 签到配置
///
public const string CheckInConfig = "CheckInConfig";
///
/// Banner
///
public const string Banner = "Banner";
///
/// 素材
///
public const string Material = "Material";
///
/// 商品
///
public const string Product = "Product";
///
/// 宠物
///
public const string Pet = "Pet";
///
/// 宠物进化
///
public const string PetEvolution = "PetEvolution";
///
/// 宠物皮肤
///
public const string PetSkin = "PetSkin";
///
/// 宠物皮肤图片
///
public const string PetSkinImage = "PetSkinImage";
///
/// 用户期刊二维码
///
public const string UserJournalQrCode = "UserJournalQrCode";
///
/// 期刊
///
public const string Journal = "Journal";
///
/// 期刊目录
///
public const string JournalCatalog = "JournalCatalog";
///
/// 期刊书页
///
public const string JournalPage = "JournalPage";
///
/// 期刊书页任务
///
public const string JournalPageTask = "JournalPageTask";
///
/// 期刊任务答案
///
public const string JournalTaskAnswer = "JournalTaskAnswer";
///
/// 补偿任务
///
public const string CompensationTask = "CompensationTask";
}
///
/// 操作日志记录输入
///
public class OperationLogRecordInput
{
///
/// 操作人Id
///
public long OperatorId { get; set; }
///
/// 操作人用户名
///
public string OperatorName { get; set; } = string.Empty;
///
/// 操作类型
///
public string ActionType { get; set; } = string.Empty;
///
/// 目标类型
///
public string TargetType { get; set; } = string.Empty;
///
/// 目标记录Id
///
public long TargetId { get; set; }
///
/// 目标名称
///
public string? TargetName { get; set; }
///
/// 操作详情 JSON
///
public string? Detail { get; set; }
///
/// IP地址
///
public string? IpAddress { get; set; }
}
///
/// 操作日志分页查询输入
///
public class OperationLogQueryInput : PageQueryModel
{
///
/// 按操作人用户名筛选(模糊查询)
///
public string? OperatorName { get; set; }
///
/// 按操作类型筛选
///
public string? ActionType { get; set; }
///
/// 按目标类型筛选
///
public string? TargetType { get; set; }
///
/// 按目标记录Id筛选
///
public long? TargetId { get; set; }
}
///
/// 操作日志输出
///
public class OperationLogOutput
{
///
/// 记录Id
///
public long Id { get; set; }
///
/// 操作人Id
///
public long OperatorId { get; set; }
///
/// 操作人用户名
///
public string OperatorName { get; set; } = string.Empty;
///
/// 操作类型
///
public string ActionType { get; set; } = string.Empty;
///
/// 目标类型
///
public string TargetType { get; set; } = string.Empty;
///
/// 目标记录Id
///
public long TargetId { get; set; }
///
/// 目标名称
///
public string? TargetName { get; set; }
///
/// 操作详情
///
public string? Detail { get; set; }
///
/// IP地址
///
public string? IpAddress { get; set; }
///
/// 操作时间
///
public DateTime CreatedAt { get; set; }
}
///
/// 操作日志详情输出
///
public class OperationLogDetailOutput
{
///
/// 记录Id
///
public long Id { get; set; }
///
/// 操作类型
///
public string ActionType { get; set; } = string.Empty;
///
/// 目标类型
///
public string TargetType { get; set; } = string.Empty;
///
/// 目标记录Id
///
public long TargetId { get; set; }
///
/// 目标名称
///
public string? TargetName { get; set; }
///
/// 操作详情
///
public string? Detail { get; set; }
///
/// IP地址
///
public string? IpAddress { get; set; }
///
/// 操作时间
///
public DateTime CreatedAt { get; set; }
///
/// 操作人用户名
///
public string OperatorName { get; set; } = string.Empty;
///
/// 操作人手机号(管理员表无此字段时可为空)
///
public string? OperatorPhone { get; set; }
///
/// 操作人角色/类型
///
public string? OperatorRole { get; set; }
///
/// 被操作人用户名(当 TargetType 为 User 时)
///
public string? TargetUserName { get; set; }
///
/// 被操作人手机号(当 TargetType 为 User 时)
///
public string? TargetUserPhone { get; set; }
///
/// 被操作人头像(当 TargetType 为 User 时)
///
public string? TargetUserAvatar { get; set; }
}