qinchaoyue il y a 1 mois
Parent
commit
761c9a5c20

+ 1 - 0
src/Hotline.Application/Snapshot/IndustryApplication.cs

@@ -405,6 +405,7 @@ public class IndustryApplication : IIndustryApplication, IScopeDependency
                     Id = file.Id,
                     Path = file.Path,
                     FileName = file.FileName,
+                    Additions = file.Additions
                 }).ToList();
             });
 #if DEBUG

+ 4 - 1
src/Hotline.Application/Snapshot/SnapshotApplicationBase.cs

@@ -138,10 +138,13 @@ public abstract class SnapshotApplicationBase
             if (m.CellImgUrl.NotNullOrEmpty())
                 m.CellImgUrl = fileServiceUrl + m.CellImgUrl;
         });
+        var SSPBannerId = _systemDicDataCacheManager.GetSnapshotBulletinSource("SSPBanner").Id;
+        var banners = (await _bulletinRepository.Queryable().Where(m => m.SnapshotBulletinTypeId == SSPBannerId)
+            .Select(m => m.Content).ToListAsync()).Select(m => m.GetHtmlImgSrc()).ToList();
 
         return new HomePageOutDto
         {
-            Banners = _sysSetting.AppBanner.Split('|').Select(m => fileDownloadApi + m).ToList(),
+            Banners = banners,
             Industrys = items
         };
     }

+ 1 - 0
src/Hotline.Share/Dtos/Snapshot/IndustryFileDto.cs

@@ -30,6 +30,7 @@ public class IndustryFileDto
     /// 附件系统中附件的Id
     /// </summary>
     public string AdditionId { get; set; }
+    public string Additions { get; set; }
 
     /// <summary>
     /// Url

+ 12 - 0
src/Hotline.Share/Tools/StringExtensions.cs

@@ -97,4 +97,16 @@ public static class StringExtensions
             return memoryStream.ToArray();
         }
     }
+
+    public static string GetHtmlImgSrc(this string value)
+    {
+        string pattern = @"<img\s[^>]*?src\s*=\s*[""'](?<src>[^""']+)[""']";
+        Match match = Regex.Match(value, pattern, RegexOptions.IgnoreCase);
+
+        if (match.Success)
+        {
+            return match.Groups["src"].Value;
+        }
+        return string.Empty;
+    }
 }

+ 7 - 0
src/Hotline/Caching/Interfaces/ISysDicDataCacheManager.cs

@@ -56,6 +56,13 @@ namespace Hotline.Caching.Interfaces
         /// </summary>
         IReadOnlyCollection<SystemDicDataOutDto> SnapshotBulletinSource { get; }
 
+        /// <summary>
+        /// 随手拍公告来源
+        /// </summary>
+        /// <param name="dicDataValue"></param>
+        /// <returns></returns>
+        SystemDicDataOutDto GetSnapshotBulletinSource(string dicDataValue);
+
         /// <summary>
         /// 红包补充发放类型
         /// </summary>

+ 4 - 0
src/Hotline/Caching/Services/SysDicDataCacheManager.cs

@@ -116,6 +116,9 @@ namespace Hotline.Caching.Services
         /// 随手拍公告来源
         /// </summary>
         public IReadOnlyCollection<SystemDicDataOutDto> SnapshotBulletinSource => GetOrAdd(SysDicTypeConsts.SnapshotBulletinSource);
+        public SystemDicDataOutDto GetSnapshotBulletinSource(string dicDataValue)
+            => this.SnapshotBulletinSource.FirstOrDefault(x => x.DicDataValue == dicDataValue) ?? new SystemDicDataOutDto();
+        
 
         /// <summary>
         /// 红包补充发放类型
@@ -151,5 +154,6 @@ namespace Hotline.Caching.Services
         {
             _cacheSysDicData.Remove(code);
         }
+
     }
 }

+ 1 - 0
src/Hotline/SeedData/SystemDicDataSeedData.cs

@@ -172,6 +172,7 @@ public class SystemDicDataSeedData : ISeedData<SystemDicData>
                 new() { Id = "08dc0681-e9e1-493b-889d-3a238c2dde39", DicDataValue = "15", DicDataName = "城市管理操作指引", Sort = 15 },
                 new() { Id = "08dc0681-ed2e-40bb-829b-c8ee518b3229", DicDataValue = "16", DicDataName = "宣传学习安全隐患", Sort = 16 },
                 new() { Id = "08dc0681-ee29-4624-865c-58d5d9667c92", DicDataValue = "17", DicDataName = "安全隐患操作指引", Sort = 17 },
+                new() { Id = "08dd6a95-9d0d-4ffd-82f6-0037ced40215", DicDataValue = "SSPBanner", DicDataName = "随手拍Banner", Sort = 18 },
                 ];
         }