TeamMemberCreateInputVo.cs 1.89 KB
namespace FoodLabeling.Application.Contracts.Dtos.TeamMember;

public class TeamMemberCreateInputVo
{
    public string FullName { get; set; } = string.Empty;

    /// <summary>
    /// 登录账号(建议用邮箱或自定义用户名)
    /// </summary>
    public string UserName { get; set; } = string.Empty;

    public string Password { get; set; } = string.Empty;

    public string? Email { get; set; }

    public long? Phone { get; set; }

    public Guid? RoleId { get; set; }

    /// <summary>
    /// 适用 Company(<c>fl_partner.Id</c>,UI 称 Company);与 <see cref="PartnerIds"/> 合并
    /// </summary>
    public string? PartnerId { get; set; }

    /// <summary>
    /// 适用 Company 多选(<c>fl_partner.Id</c>)
    /// </summary>
    public List<string>? PartnerIds { get; set; }

    /// <summary>
    /// 适用 Region 多选(<c>fl_group.Id</c>);可含 <c>ALL</c> 哨兵(大小写不敏感,与具体 Guid 同传时以 ALL 为准)。
    /// Company Admin 仅传 Company 时可省略;<c>locationIds</c> 为空且含 ALL 时展开该公司全部 Region 下门店。
    /// </summary>
    public List<string>? RegionIds { get; set; }

    /// <summary>
    /// 适用 Region 多选(与 <see cref="RegionIds"/> 相同);可含 <c>ALL</c>。
    /// </summary>
    public List<string>? GroupIds { get; set; }

    /// <summary>
    /// 适用门店多选(<c>location.Id</c>);可含 <c>ALL</c> 哨兵,按 <see cref="PartnerId"/>/<see cref="PartnerIds"/> 展开该公司全部门店落库。
    /// Company Admin 仅传 Company 时可省略。
    /// </summary>
    public List<string>? LocationIds { get; set; }

    /// <summary>
    /// 适用门店多选别名(与 <see cref="LocationIds"/> 合并解析);可含 <c>ALL</c> 或门店 Guid。
    /// </summary>
    public List<string>? Locations { get; set; }

    public bool State { get; set; } = true;
}