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