using Store.Users.Contracts.Enums;
using FreeSql.DataAnnotations;
using System;
namespace Store.Users.Entities
{
///
/// 用户表
///
[Table(Name = "wxxd.user")]
public class UserEntity
{
///
/// ID
///
[Column(Name = "id", IsPrimary = true, IsIdentity = true)]
public int Id { get; set; }
///
/// 用户昵称
///
[Column(Name = "nick_name")]
public string NickName { get; set; }
///
/// 用户名称(登录账户)
///
[Column(Name = "user_name")]
public string UserName { get; set; }
///
/// 登录密码
///
[Column(Name = "password")]
public string Password { get; set; }
///
/// card_id
///
[Column(Name = "card_id")]
public string CardId { get; set; }
///
/// 用户分组,参见 。
///
[Column(Name = "group_id", MapType = typeof(byte))]
public UserGroup GroupId { get; set; }
///
/// 父账户用户名
///
[Column(Name = "parent_user_name")]
public string ParentUserName { get; set; }
///
/// oem编号,仅oem用户有值
///
[Column(Name = "oem_id")]
public string OemId { get; set; }
///
/// 手机号
///
[Column(Name = "mobile")]
public string Mobile { get; set; }
///
/// 添加时间
///
[Column(Name = "add_time")]
public DateTime? AddTime { get; set; }
///
/// 修改时间
///
[Column(Name = "mdy_time")]
public DateTime? MdyTime { get; set; }
///
/// 公司名称
///
[Column(Name = "company_name")]
public string CompanyName { get; set; }
///
/// 备注
///
[Column(Name = "notes")]
public string Notes { get; set; }
///
/// 超管等级,参见 。
///
[Column(Name = "sa_level", MapType = typeof(short))]
public UserAdminLevel? SaLevel { get; set; }
///
/// 账户权限
///
[Column(Name = "authority")]
public string Authority { get; set; }
///
/// 子账号被禁止展示的功能页面
///
[Column(Name = "forbidden_page")]
public string ForbiddenPage { get; set; }
///
/// 账户积分,1积分=1元
///
[Column(Name = "points")]
public decimal Points { get; set; }
///
/// 积分历史累计充值金额
///
[Column(Name = "recharge_points_total")]
public decimal? RechargePointsTotal { get; set; }
///
/// 店铺每续费一个月需要的积分,单位元
///
[Column(Name = "shop_points_per_month")]
public int ShopPointsPerMonth { get; set; }
///
/// 可用余额
///
[Column(Name = "balance")]
public decimal? Balance { get; set; }
///
/// 累计充值金额
///
[Column(Name = "recharge_amount_total")]
public decimal? RechargeAmountTotal { get; set; }
///
/// 每单中转仓快递费用,单位元,两位小数
///
[Column(Name = "postage_per_order")]
public decimal? PostagePerOrder { get; set; }
///
/// 每单中转仓退货快递费用,单位元,两位小数
///
[Column(Name = "refund_postage_per_order")]
public decimal? RefundPostagePerOrder { get; set; }
///
/// 礼物每单额外收取费用,单位元,两位小数
///
[Column(Name = "gift_oem_amount_per_order")]
public decimal? GiftOemAmountPerOrder { get; set; }
///
/// 同步物流费用,单位元,两位小数
///
[Column(Name = "sync_logistics_per_order")]
public decimal? SyncLogisticsPerOrder { get; set; }
///
/// 是否主账户
///
public bool IsMainUser
{
// 只有主号分组且无父账号才是主账号,不能把缺失父账号的子账号当作主账号。
get => GroupId == UserGroup.MainAccount && string.IsNullOrWhiteSpace(ParentUserName);
}
///
/// 是否OEM租户
///
public bool IsOEMTenant => !string.IsNullOrWhiteSpace(OemId);
}
}