Files
zszq-trs/Framework/YLErp.Core/Models/OptUserInfo.cs
T

93 lines
2.2 KiB
C#

using System.ComponentModel.DataAnnotations.Schema;
using YieldChain.Security;
using YLErp.DBModels.Consts;
namespace YLErp
{
/// <summary>
/// 用户信息
/// </summary>
public class OptUserInfo
{
private string _userGroup = string.Empty;
/// <summary>
/// 用户ID
/// </summary>
public int UserId { get; set; }
public string UserEncryptId
{
get { return DataProtect.Encrypt(UserId.ToString()); }
}
/// <summary>
/// 用户名称
/// </summary>
public string UserName { get; set; }
/// <summary>
/// oa账户
/// </summary>
public string OaAccount { get; set; }
/// <summary>
/// 用户组
/// </summary>
public string UserGroup
{
get => _userGroup;
set
{
_userGroup = PS.Config != null && ConsUserGroup.HasGroup ? value ?? string.Empty : string.Empty;
}
}
/// <summary>
/// IP地址
/// </summary>
public string IpAddress { get; set; }
/// <summary>
/// 用户来源
/// </summary>
public OptUserFrom UserFrom { get; set; }
protected OptUserInfo()
{
}
public OptUserInfo(int userId, string userName, OptUserFrom userFrom, string userGroup = null)
{
UserId = userId;
UserName = userName;
UserFrom = userFrom;
UserGroup = userGroup;
}
public OptUserInfo Clone()
{
return (OptUserInfo)MemberwiseClone();
}
/// <summary>
/// 最小权限系统用户
/// </summary>
public static readonly OptUserInfo SystemUser;
public static readonly OptUserInfo UnitTestUser;
static OptUserInfo()
{
SystemUser = new OptUserInfo(0, "系统", OptUserFrom.System);
UnitTestUser = new OptUserInfo(0, "单元测试", OptUserFrom.UnitTest);
}
}
/// <summary>
/// 操作用户来源
/// </summary>
public enum OptUserFrom
{
System, WebUI, WebAPI, Service, UnitTest
}
}