|
|
@@ -1,6 +1,8 @@
|
|
|
using AI.Platform.Core;
|
|
|
using AI.Platform.Core.Entity.Media;
|
|
|
+using AI.Platform.Core.Entity.Site;
|
|
|
using AI.Platform.Page.Pages.Media.Model;
|
|
|
+using AI.Platform.Page.Pages.Site.Model;
|
|
|
using AntDesign;
|
|
|
using AntDesign.TableModels;
|
|
|
using Dm.util;
|
|
|
@@ -23,6 +25,8 @@ public partial class Media
|
|
|
/// 数据库仓储
|
|
|
/// </summary>
|
|
|
[Inject] SqlSugarRepository<MediaEntity> _Repository { get; set; }
|
|
|
+
|
|
|
+ [Inject] SqlSugarRepository<SiteEntity> _SiteRepository { get; set; }
|
|
|
/// <summary>
|
|
|
///
|
|
|
/// </summary>
|
|
|
@@ -38,7 +42,7 @@ public partial class Media
|
|
|
/// <summary>
|
|
|
/// 广告列表信息
|
|
|
/// </summary>
|
|
|
- private List<MediaEntity> _DataSource;
|
|
|
+ private List<MediaInfoModel> _DataSource;
|
|
|
/// <summary>
|
|
|
///
|
|
|
/// </summary>
|
|
|
@@ -74,32 +78,38 @@ public partial class Media
|
|
|
|
|
|
private MediaDialogModel model = new MediaDialogModel();
|
|
|
|
|
|
+ // <summary>
|
|
|
+ /// 站点
|
|
|
+ /// </summary>
|
|
|
+ private List<SiteInfo> Sites;
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 打开编辑弹窗
|
|
|
/// </summary>
|
|
|
/// <param name="type">类型:1:新增;2:编辑;3:删除</param>
|
|
|
/// <param name="media">广告信息</param>
|
|
|
/// <returns></returns>
|
|
|
- private async Task ShowDialog(int type,MediaEntity? media)
|
|
|
+ private async Task ShowDialog(int type, MediaInfoModel? media)
|
|
|
{
|
|
|
model = new MediaDialogModel();
|
|
|
model.Type = type;
|
|
|
- if(type == 2 || type == 3)
|
|
|
+ model.siteInfos = Sites;
|
|
|
+ if (type == 2 || type == 3)
|
|
|
{
|
|
|
model.Id = media?.Id;
|
|
|
- model.GroupID = media?.GroupID ?? "";
|
|
|
- model.BusinessUnitID = media?.BusinessUnitID ?? "";
|
|
|
+ model.GroupID = media?.GroupID ?? -1;
|
|
|
+ model.BusinessUnitID = media?.BusinessUnitID ?? -1;
|
|
|
model.FileName = media?.FileName ?? "";
|
|
|
model.GuidFileName = media?.GuidFileName ?? "";
|
|
|
model.FileExtension = media?.FileExtension ?? "";
|
|
|
- model.SavePath = media?.LocalPath ?? "";
|
|
|
- model.MediaUploader = media?.Uploader ?? "";
|
|
|
+ model.SavePath = media?.SavePath ?? "";
|
|
|
+ model.MediaUploader = media?.MediaUploader ?? "";
|
|
|
model.StartTime = media?.StartTime;
|
|
|
model.EndTime = media?.EndTime;
|
|
|
- model.EffecitiveTime = media?.EffectiveTime;
|
|
|
+ model.EffecitiveTime = media?.EffecitiveTime;
|
|
|
model.FailureTime = media?.FailureTime;
|
|
|
model.MediaState = media?.MediaState ?? 0;
|
|
|
- model.MachineStateList = JsonSerializer.Deserialize<List<string>>(media?.MachineState ?? "[]");
|
|
|
+ model.MachineStateList = JsonSerializer.Deserialize<List<string>>(media?.MachineStateList ?? "[]");
|
|
|
model.Remark = media?.Remark ?? "";
|
|
|
}
|
|
|
|
|
|
@@ -121,7 +131,7 @@ public partial class Media
|
|
|
case 2:
|
|
|
MediaEntity mediaEntity = model.ToCompany();
|
|
|
await _Repository.Context.Updateable(mediaEntity).
|
|
|
- UpdateColumns(it => new { it.MediaState,it.MachineState, it.StartTime, it.EndTime ,it.EffectiveTime,it.FailureTime,it.Remark })
|
|
|
+ UpdateColumns(it => new { it.GroupId,it.BusinessUnitId, it.MediaState,it.MachineState, it.StartTime, it.EndTime ,it.EffectiveTime,it.FailureTime,it.Remark })
|
|
|
.ExecuteCommandAsync();
|
|
|
break;
|
|
|
case 3:
|
|
|
@@ -144,12 +154,29 @@ public partial class Media
|
|
|
this.isOpen = isOpen;
|
|
|
}
|
|
|
|
|
|
+ private async Task searchSitesAsync()
|
|
|
+ {
|
|
|
+ if (Global.CurrentUser.Account == "admin")
|
|
|
+ {
|
|
|
+ Sites = await _SiteRepository.AsQueryable()
|
|
|
+ .Select<SiteInfo>()
|
|
|
+ .ToListAsync();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Sites = await _SiteRepository.AsQueryable()
|
|
|
+ .Where(it => it.Id == Global.CurrentUser.SiteId || it.ParentId == Global.CurrentUser.SiteId)
|
|
|
+ .Select<SiteInfo>()
|
|
|
+ .ToListAsync();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 表格查询
|
|
|
/// </summary>
|
|
|
/// <param name="query"></param>
|
|
|
/// <returns></returns>
|
|
|
- private async Task OnChange(QueryModel<MediaEntity> query)
|
|
|
+ private async Task OnChange(QueryModel<MediaInfoModel> query)
|
|
|
=> await Query();
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -161,6 +188,7 @@ public partial class Media
|
|
|
Loading = true;
|
|
|
|
|
|
var query = _Repository.AsQueryable()
|
|
|
+ .LeftJoin<SiteEntity>((media,site) => media.BusinessUnitId == site.Id)
|
|
|
.WhereIF(filterData.searchFileName != null, it => it.FileName.Contains(filterData.searchFileName))
|
|
|
.WhereIF(filterData.searchMediaUploader != null, it => it.Uploader.Contains(filterData.searchMediaUploader))
|
|
|
.WhereIF(filterData.searchMediaState != null && filterData.searchMediaState != -1, it => it.MediaState == filterData.searchMediaState)
|
|
|
@@ -181,7 +209,27 @@ public partial class Media
|
|
|
|
|
|
Total = await query.CountAsync();
|
|
|
_DataSource = await query
|
|
|
- .OrderByDescending(it => it.EditTime)
|
|
|
+ .Select((media, site) => new MediaInfoModel()
|
|
|
+ {
|
|
|
+ Id = media.Id,
|
|
|
+ GroupID = media.GroupId,
|
|
|
+ BusinessUnitID = media.BusinessUnitId,
|
|
|
+ SavePath = media.LocalPath,
|
|
|
+ FileName = media.FileName,
|
|
|
+ GuidFileName = media.GuidFileName,
|
|
|
+ FileExtension = media.FileExtension,
|
|
|
+ MediaUploader = media.Uploader,
|
|
|
+ MachineStateList = media.MachineState,
|
|
|
+ MediaState = media.MediaState,
|
|
|
+ SiteName = site.Name,
|
|
|
+ StartTime = media.StartTime,
|
|
|
+ EndTime = media.EndTime,
|
|
|
+ EffecitiveTime = media.EffectiveTime,
|
|
|
+ FailureTime = media.FailureTime,
|
|
|
+ EditTime = media.EditTime,
|
|
|
+ Remark = media.Remark,
|
|
|
+ })
|
|
|
+ .OrderByDescending(media => media.EditTime)
|
|
|
.Skip((filterData.currentPage - 1) * filterData.pageSize)
|
|
|
.Take(filterData.pageSize)
|
|
|
.ToListAsync();
|
|
|
@@ -266,6 +314,7 @@ public partial class Media
|
|
|
{
|
|
|
await NavigationManager.RedirectLogin(IJSRuntime);
|
|
|
await Query();
|
|
|
+ await searchSitesAsync();
|
|
|
}
|
|
|
}
|
|
|
|