93 lines
2.2 KiB
C#
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
|
|
}
|
|
}
|