MediaModel.cs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. using AI.Platform.Core;
  2. using AI.Platform.Core.Entity.Media;
  3. using AI.Platform.Page.Pages.Site.Model;
  4. using Microsoft.AspNetCore.Components;
  5. using SqlSugar;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Text;
  9. using System.Text.Json;
  10. namespace AI.Platform.Page.Pages.Media.Model
  11. {
  12. public class MediaModel
  13. {
  14. }
  15. /// <summary>
  16. /// 用于新增/修改广告时传递弹窗数据
  17. /// </summary>
  18. public class MediaDialogModel
  19. {
  20. /// <summary>
  21. /// 表id
  22. /// </summary>
  23. public long? Id { get; set; }
  24. /// <summary>
  25. /// 弹窗类型:1:新增;2:编辑;3:删除
  26. /// </summary>
  27. public int Type { get; set; }
  28. /// <summary>
  29. /// 集团ID
  30. /// </summary>
  31. public long GroupID { get; set; }
  32. /// <summary>
  33. /// 站点ID
  34. /// </summary>
  35. public long BusinessUnitID { get; set; }
  36. /// <summary>
  37. /// 文件名
  38. /// </summary>
  39. public string FileName { set; get; }
  40. /// <summary>
  41. /// 文件后缀
  42. /// </summary>
  43. public string FileExtension { set; get; }
  44. /// <summary>
  45. /// guid文件名
  46. /// </summary>
  47. public string GuidFileName { set; get; }
  48. /// <summary>
  49. /// 保存到服务器的地址
  50. /// </summary>
  51. public string SavePath { set; get; }
  52. /// <summary>
  53. /// 文件开始播放时间
  54. /// </summary>
  55. public int? StartTime { set; get; }
  56. /// <summary>
  57. /// 文件结束播放时间
  58. /// </summary>
  59. public int? EndTime { set; get; }
  60. /// <summary>
  61. /// 文件生效时间
  62. /// </summary>
  63. public DateTime? EffecitiveTime { set; get; }
  64. /// <summary>
  65. /// 文件失效时间
  66. /// </summary>
  67. public DateTime? FailureTime { set; get; }
  68. /// <summary>
  69. /// 文件油机状态
  70. /// </summary>
  71. public List<string> MachineStateList { set; get; }
  72. /// <summary>
  73. /// 文件广告状态 0:禁用;1:可用
  74. /// </summary>
  75. public int MediaState { set; get; }
  76. /// <summary>
  77. /// 文件上传人
  78. /// </summary>
  79. public string MediaUploader { set; get; } = Global.CurrentUser.NickName;
  80. /// <summary>
  81. /// 备注
  82. /// </summary>
  83. public string Remark { set; get; }
  84. /// <summary>
  85. /// 可选择站点
  86. /// </summary>
  87. public List<SiteInfo> siteInfos { set; get; }
  88. public MediaEntity ToCompany()
  89. {
  90. var media = new MediaEntity()
  91. {
  92. LocalPath = SavePath,
  93. GroupId = this.GroupID,
  94. BusinessUnitId = this.BusinessUnitID,
  95. FileName = FileName,
  96. FileExtension = this.FileExtension,
  97. GuidFileName = this.GuidFileName,
  98. StartTime = this.StartTime ?? 0,
  99. EndTime = this.EndTime ?? 0,
  100. EffectiveTime = this.EffecitiveTime ?? DateTime.Now,
  101. FailureTime = this.FailureTime ?? DateTime.Now,
  102. MachineState = JsonSerializer.Serialize(getMachineStateList()),
  103. MediaState = this.MediaState,
  104. Uploader = this.MediaUploader ?? "",
  105. CreateTime = DateTime.Now,
  106. EditTime = DateTime.Now,
  107. Remark = this.Remark
  108. };
  109. if(this.Id != null) media.Id = (long)Id;
  110. return media;
  111. }
  112. /// <summary>
  113. /// 获取油机状态列表,为空则返回所有状态
  114. /// </summary>
  115. /// <returns></returns>
  116. public List<string> getMachineStateList()
  117. {
  118. if (MachineStateList.IsNullOrEmpty())
  119. {
  120. return new List<string>
  121. {
  122. "idle","lock","offline","lift","authorised","start","fueling"
  123. };
  124. }
  125. return MachineStateList;
  126. }
  127. }
  128. /// <summary>
  129. /// 用于显示广告列表数据
  130. /// </summary>
  131. public class MediaInfoModel
  132. {
  133. /// <summary>
  134. /// 表id
  135. /// </summary>
  136. public long? Id { get; set; }
  137. /// <summary>
  138. /// 集团ID
  139. /// </summary>
  140. public long GroupID { get; set; }
  141. /// <summary>
  142. /// 站点ID
  143. /// </summary>
  144. public long BusinessUnitID { get; set; }
  145. /// <summary>
  146. /// 站名
  147. /// </summary>
  148. public string SiteName { set; get; }
  149. /// <summary>
  150. /// 文件名
  151. /// </summary>
  152. public string FileName { set; get; }
  153. /// <summary>
  154. /// 文件后缀
  155. /// </summary>
  156. public string FileExtension { set; get; }
  157. /// <summary>
  158. /// guid文件名
  159. /// </summary>
  160. public string GuidFileName { set; get; }
  161. /// <summary>
  162. /// 保存到服务器的地址
  163. /// </summary>
  164. public string SavePath { set; get; }
  165. /// <summary>
  166. /// 文件开始播放时间
  167. /// </summary>
  168. public int? StartTime { set; get; }
  169. /// <summary>
  170. /// 文件结束播放时间
  171. /// </summary>
  172. public int? EndTime { set; get; }
  173. /// <summary>
  174. /// 文件生效时间
  175. /// </summary>
  176. public DateTime EffecitiveTime { set; get; }
  177. /// <summary>
  178. /// 文件失效时间
  179. /// </summary>
  180. public DateTime FailureTime { set; get; }
  181. /// <summary>
  182. /// 修改时间
  183. /// </summary>
  184. public DateTime? EditTime { set; get; }
  185. /// <summary>
  186. /// 文件油机状态
  187. /// </summary>
  188. public string MachineStateList { set; get; }
  189. /// <summary>
  190. /// 文件广告状态 0:禁用;1:可用
  191. /// </summary>
  192. public int MediaState { set; get; }
  193. /// <summary>
  194. /// 文件上传人
  195. /// </summary>
  196. public string MediaUploader { set; get; } = Global.CurrentUser.NickName;
  197. /// <summary>
  198. /// 备注
  199. /// </summary>
  200. public string Remark { set; get; }
  201. }
  202. }