mi-assessment/server/MiAssessment/src/MiAssessment.Model/Entities/UserLoginLog.cs
zpc 21e8ff5372 refactor: 清理遗留实体和无效代码
- 删除无数据库表的实体: UserDetail, UserAddress, PaymentOrder, Admin, AdminLoginLog, AdminOperationLog, Picture, Delivery
- 删除关联服务: AddressService, PaymentService, PaymentOrderService, PaymentRewardDispatcher, DefaultPaymentRewardHandler
- 删除关联接口: IAddressService, IPaymentService, IPaymentOrderService, IPaymentRewardHandler, IPaymentRewardDispatcher
- 删除关联控制器: AddressController
- 删除关联DTO: AddressModels, CreatePaymentOrderRequest, PaymentOrderDto, PaymentOrderQueryRequest
- 删除关联测试: PaymentOrderServicePropertyTests, PaymentRewardDispatcherPropertyTests
- 修复实体字段映射: User, UserLoginLog, UserRefreshToken, Config, OrderNotify
- 更新 NotifyController 移除 IPaymentOrderService 依赖
- 更新 ServiceModule 移除已删除服务的DI注册
- 更新 MiAssessmentDbContext 移除已删除实体的DbSet和OnModelCreating配置
2026-02-20 20:29:34 +08:00

65 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace MiAssessment.Model.Entities;
/// <summary>
/// 用户登录日志表,记录用户每次登录信息
/// </summary>
[Table("user_login_logs")]
public class UserLoginLog
{
/// <summary>
/// 主键ID
/// </summary>
[Key]
public long Id { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 登录类型wechat/mobile/sms等
/// </summary>
[Required]
[MaxLength(20)]
public string LoginType { get; set; } = null!;
/// <summary>
/// 登录IP
/// </summary>
[MaxLength(50)]
public string? LoginIp { get; set; }
/// <summary>
/// 用户代理
/// </summary>
[MaxLength(500)]
public string? UserAgent { get; set; }
/// <summary>
/// 平台miniprogram/h5/app等
/// </summary>
[MaxLength(20)]
public string? Platform { get; set; }
/// <summary>
/// 状态1成功 0失败
/// </summary>
public int Status { get; set; }
/// <summary>
/// 失败原因
/// </summary>
[MaxLength(200)]
public string? FailReason { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}