Message.cs 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. using Hotline.Orders;
  2. using Hotline.Settings;
  3. using Hotline.Share.Enums.Push;
  4. using Hotline.Users;
  5. using SqlSugar;
  6. using XF.Domain.Repository;
  7. namespace Hotline.Push
  8. {
  9. /// <summary>
  10. /// 推送消息
  11. /// </summary>
  12. public class Message : CreationEntity
  13. {
  14. /// <summary>
  15. /// 消息推送业务
  16. /// </summary>
  17. [SugarColumn(ColumnDescription = "消息推送业务")]
  18. public EPushBusiness PushBusiness { get; set; }
  19. /// <summary>
  20. /// 外部业务唯一编号
  21. /// </summary>
  22. [SugarColumn(ColumnDescription = "外部业务唯一编号", ColumnDataType = "varchar(50)")]
  23. public string ExternalId { get; set; }
  24. /// <summary>
  25. /// 推送平台
  26. /// </summary>
  27. [SugarColumn(ColumnDescription = "推送平台")]
  28. public EPushPlatform PushPlatform { get; set; }
  29. /// <summary>
  30. /// 推送状态
  31. /// </summary>
  32. [SugarColumn(ColumnDescription = "推送状态", ColumnDataType = "varchar(2)")]
  33. public EPushStatus Status { get; set; }
  34. /// <summary>
  35. /// 模板
  36. /// </summary>
  37. [SugarColumn(ColumnDescription = "模板", ColumnDataType = "varchar(200)", IsNullable = true)]
  38. public string? Template { get; set; }
  39. /// <summary>
  40. /// 短信内容
  41. /// </summary>
  42. [SugarColumn(ColumnDescription = "短信内容", ColumnDataType = "varchar(200)")]
  43. public string Content { get; set; }
  44. /// <summary>
  45. /// 备注
  46. /// </summary>
  47. [SugarColumn(ColumnDescription = "备注", ColumnDataType = "varchar(500)", IsNullable = true)]
  48. public string? Remark { get; set; }
  49. /// <summary>
  50. /// 接收姓名
  51. /// </summary>
  52. [SugarColumn(ColumnDescription = "接收姓名", ColumnDataType = "varchar(20)")]
  53. public string Name { get; set; }
  54. /// <summary>
  55. /// 接收手机号码
  56. /// </summary>
  57. [SugarColumn(ColumnDescription = "接收手机号码", ColumnDataType = "varchar(20)")]
  58. public string TelNumber { get; set; }
  59. /// <summary>
  60. /// 关联工单编号
  61. /// </summary>
  62. [SugarColumn(ColumnDescription = "关联工单编号", ColumnDataType = "varchar(50)", IsNullable = true)]
  63. public string? OrderId { get; set; }
  64. /// <summary>
  65. /// 短信中心待发送ID
  66. /// </summary>
  67. [SugarColumn(ColumnDescription = "短信中心待发送ID", ColumnDataType = "varchar(20)", IsNullable = true)]
  68. public string? SmsWaitSendingId { get; set; }
  69. /// <summary>
  70. /// 短信中心已发送ID
  71. /// </summary>
  72. [SugarColumn(ColumnDescription = "短信中心已发送ID", ColumnDataType = "varchar(20)", IsNullable = true)]
  73. public string? SmsSendingCompletedId { get; set; }
  74. /// <summary>
  75. /// 发送短信使用的数量
  76. /// </summary>
  77. [SugarColumn(ColumnDescription = "发送短信使用的数量", IsNullable = true)]
  78. public int? MsgCount { get; set; }
  79. /// <summary>
  80. /// 短信发送状态
  81. /// </summary>
  82. [SugarColumn(ColumnDescription = "短信发送状态")]
  83. public ESendState SendState { get; set; }
  84. /// <summary>
  85. /// 发送时间
  86. /// </summary>
  87. [SugarColumn(ColumnDescription = "发送时间",IsNullable =true)]
  88. public DateTime? SendTime { get; set; }
  89. /// <summary>
  90. /// 短信回复是否回复
  91. /// </summary>
  92. [SugarColumn(ColumnDescription = "短信回复是否回复")]
  93. public bool IsSmsReply { get; set; }
  94. /// <summary>
  95. /// 短信回复内容
  96. /// </summary>
  97. [SugarColumn(ColumnDescription = "短信回复内容", ColumnDataType = "varchar(200)", IsNullable = true)]
  98. public string? SmsReplyContent { get; set; }
  99. /// <summary>
  100. /// 短信回复时间
  101. /// </summary>
  102. [SugarColumn(ColumnDescription = "短信回复时间", IsNullable = true)]
  103. public DateTime? SmsReplyTime { get; set; }
  104. /// <summary>
  105. /// 发送人
  106. /// </summary>
  107. [Navigate(NavigateType.OneToOne, nameof(CreatorId))]//
  108. public User User { get; set; }
  109. /// <summary>
  110. /// 发送部门
  111. /// </summary>
  112. [Navigate(NavigateType.OneToOne, nameof(CreatorOrgId))]//
  113. public SystemOrganize SystemOrganize { get; set; }
  114. /// <summary>
  115. /// 关联工单信息
  116. /// </summary>
  117. [Navigate(NavigateType.OneToOne, nameof(OrderId))]//
  118. public Order Order { get; set; }
  119. ///// <summary>
  120. ///// 参数
  121. ///// </summary>
  122. //[SqlSugar.SugarColumn(IsIgnore = true)]
  123. //public List<string> Params { get; set; }
  124. }
  125. }