using System.ComponentModel.DataAnnotations;
using Oms.Domain.CustomersAggregate.Enums;
namespace Oms.Application.Dtos.Customers;
///
/// 更新客户入参。
///
public class UpdateCustomerInput
{
///
/// 主键。
///
[Required]
public int Id { get; set; }
///
/// 客户编号。
///
[Required]
[StringLength(32)]
public string CustomerCode { get; set; } = string.Empty;
///
/// 客户名称。
///
[Required]
[StringLength(128)]
public string CustomerName { get; set; } = string.Empty;
///
/// 手机号。
///
[Required]
[StringLength(16)]
public string Phone { get; set; } = string.Empty;
///
/// 邮箱。
///
[EmailAddress]
[StringLength(64)]
public string? Email { get; set; }
///
/// 微信头像地址。
///
[StringLength(255)]
public string? WechatAvatar { get; set; }
///
/// 微信昵称。
///
[StringLength(64)]
public string? WechatNickname { get; set; }
///
/// 账户余额。
///
[Range(typeof(decimal), "0", "999999999999")]
public decimal Balance { get; set; }
///
/// 总额度。
///
[Range(typeof(decimal), "0", "999999999999")]
public decimal TotalQuota { get; set; }
///
/// 已用额度。
///
[Range(typeof(decimal), "0", "999999999999")]
public decimal UsedQuota { get; set; }
///
/// 状态。
///
public CustomerStatus Status { get; set; } = CustomerStatus.Normal;
///
/// 备注。
///
[StringLength(512)]
public string? Remark { get; set; }
///
/// 销售人员。
///
[StringLength(32)]
public string? Salesman { get; set; }
///
/// 所属顾问。
///
[StringLength(32)]
public string? CustomerService { get; set; }
///
/// 客户分组(遗留字段,计价优先 MemberLevelId)。
///
public CustomerGroup? CustomerGroup { get; set; }
///
/// 会员等级 Id。
///
public int? MemberLevelId { get; set; }
///
/// 价区键(卖价 CustomerGroupValues JSON 键)。空则回落「普通客户」。
///
[StringLength(64)]
public string? PriceTierKey { get; set; }
}