李昊 5 년 전
부모
커밋
6a447b5daf
1개의 변경된 파일9개의 추가작업 그리고 1개의 파일을 삭제
  1. 9 1
      gx_api/GxPress/Repository/GxPress.Repository.Implement/Navigation/NavigationRepository.cs

+ 9 - 1
gx_api/GxPress/Repository/GxPress.Repository.Implement/Navigation/NavigationRepository.cs

@@ -22,6 +22,7 @@ namespace GxPress.Repository.Implement.Navigation
         private readonly Repository<Entity.Navigations.MiddleLable> _middleLableRepository;
         private readonly Repository<Entity.SystemLabel.SystemLabel> _systemLabelRepository;
         private readonly Repository<Entity.tede2.Media.Media> _mediaRepository;
+        private readonly Repository<Entity.tede2.Media.MediaLable> _mediaLableRepository;
         public NavigationRepository(IOptionsMonitor<DatabaseOptions> dbOptionsAccessor, IMapper mapper)
         {
             _databaseTypestr = dbOptionsAccessor.CurrentValue.DatabaseType;
@@ -33,6 +34,7 @@ namespace GxPress.Repository.Implement.Navigation
             _middleLableRepository = new Repository<Entity.Navigations.MiddleLable>(database);
             _systemLabelRepository = new Repository<Entity.SystemLabel.SystemLabel>(database);
             _mediaRepository = new Repository<Entity.tede2.Media.Media>(database);
+            _mediaLableRepository = new Repository<Entity.tede2.Media.MediaLable>(database);
             _mapper = mapper;
         }
 
@@ -166,9 +168,11 @@ namespace GxPress.Repository.Implement.Navigation
                         LabelName = item.LabelName,
                         ResourceType = item.ResourceType
                     };
+                    //获取媒体标签
+                    var mediaLables = await _mediaLableRepository.GetAllAsync(Q.Where(nameof(Entity.tede2.Media.MediaLable.LableId), item.Id));
                     //获取媒体
                     var query = Q.NewQuery();
-                    query.Where(nameof(Entity.tede2.Media.Media.LableId), item.Id);
+                    query.WhereIn(nameof(Entity.tede2.Media.Media.Id), mediaLables.Select(n => n.MediaId));
                     query.Where(nameof(Entity.tede2.Media.Media.IsChecked), true);
                     query.Where(nameof(Entity.tede2.Media.Media.IsDelete), false);
                     query.OrderByDesc(nameof(Entity.tede2.Media.Media.IsTop));
@@ -176,6 +180,10 @@ namespace GxPress.Repository.Implement.Navigation
                     query.ForPage(1, 10);
                     var medias = await _mediaRepository.GetAllAsync(query);
                     navigationMediaResult.MediaResults = medias.Select(n => _mapper.Map<MediaResult>(n)).ToList();
+                    foreach (var itemMedia in  navigationMediaResult.MediaResults)
+                    {
+                        itemMedia.ImageUrls=StringUtils.AddDomain(itemMedia.ImageUrls);
+                    }
                     result.Add(navigationMediaResult);
                 }
             }