using Hotline.Orders;
using Hotline.Settings;
using Hotline.Share.Enums.Push;
using Hotline.Users;
using SqlSugar;
using XF.Domain.Repository;
namespace Hotline.Push
{
///
/// 推送消息
///
public class Message : CreationEntity
{
///
/// 消息推送业务
///
[SugarColumn(ColumnDescription = "消息推送业务")]
public EPushBusiness PushBusiness { get; set; }
///
/// 外部业务唯一编号
///
[SugarColumn(ColumnDescription = "外部业务唯一编号", ColumnDataType = "varchar(50)")]
public string ExternalId { get; set; }
///
/// 推送平台
///
[SugarColumn(ColumnDescription = "推送平台")]
public EPushPlatform PushPlatform { get; set; }
///
/// 推送状态
///
[SugarColumn(ColumnDescription = "推送状态", ColumnDataType = "varchar(2)")]
public EPushStatus Status { get; set; }
///
/// 模板
///
[SugarColumn(ColumnDescription = "模板", ColumnDataType = "varchar(200)", IsNullable = true)]
public string? Template { get; set; }
///
/// 短信内容
///
[SugarColumn(ColumnDescription = "短信内容", ColumnDataType = "varchar(200)")]
public string Content { get; set; }
///
/// 备注
///
[SugarColumn(ColumnDescription = "备注", ColumnDataType = "varchar(500)", IsNullable = true)]
public string? Remark { get; set; }
///
/// 接收姓名
///
[SugarColumn(ColumnDescription = "接收姓名", ColumnDataType = "varchar(20)")]
public string Name { get; set; }
///
/// 接收手机号码
///
[SugarColumn(ColumnDescription = "接收手机号码", ColumnDataType = "varchar(20)")]
public string TelNumber { get; set; }
///
/// 关联工单编号
///
[SugarColumn(ColumnDescription = "关联工单编号", ColumnDataType = "varchar(50)", IsNullable = true)]
public string? OrderId { get; set; }
///
/// 短信中心待发送ID
///
[SugarColumn(ColumnDescription = "短信中心待发送ID", ColumnDataType = "varchar(20)", IsNullable = true)]
public string? SmsWaitSendingId { get; set; }
///
/// 短信中心已发送ID
///
[SugarColumn(ColumnDescription = "短信中心已发送ID", ColumnDataType = "varchar(20)", IsNullable = true)]
public string? SmsSendingCompletedId { get; set; }
///
/// 发送短信使用的数量
///
[SugarColumn(ColumnDescription = "发送短信使用的数量", IsNullable = true)]
public int? MsgCount { get; set; }
///
/// 短信发送状态
///
[SugarColumn(ColumnDescription = "短信发送状态")]
public ESendState SendState { get; set; }
///
/// 发送时间
///
[SugarColumn(ColumnDescription = "发送时间",IsNullable =true)]
public DateTime? SendTime { get; set; }
///
/// 短信回复是否回复
///
[SugarColumn(ColumnDescription = "短信回复是否回复")]
public bool IsSmsReply { get; set; }
///
/// 短信回复内容
///
[SugarColumn(ColumnDescription = "短信回复内容", ColumnDataType = "varchar(200)", IsNullable = true)]
public string? SmsReplyContent { get; set; }
///
/// 短信回复时间
///
[SugarColumn(ColumnDescription = "短信回复时间", IsNullable = true)]
public DateTime? SmsReplyTime { get; set; }
///
/// 发送人
///
[Navigate(NavigateType.OneToOne, nameof(CreatorId))]//
public User User { get; set; }
///
/// 发送部门
///
[Navigate(NavigateType.OneToOne, nameof(CreatorOrgId))]//
public SystemOrganize SystemOrganize { get; set; }
///
/// 关联工单信息
///
[Navigate(NavigateType.OneToOne, nameof(OrderId))]//
public Order Order { get; set; }
/////
///// 参数
/////
//[SqlSugar.SugarColumn(IsIgnore = true)]
//public List Params { get; set; }
}
}