diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Announcement/AnnouncementLogDto.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Announcement/AnnouncementLogDto.cs
index 0a7ef430..fdb7a59d 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Announcement/AnnouncementLogDto.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/Announcement/AnnouncementLogDto.cs
@@ -1,3 +1,5 @@
+using Yi.Framework.AiHub.Domain.Shared.Enums;
+
namespace Yi.Framework.AiHub.Application.Contracts.Dtos.Announcement;
///
@@ -5,18 +7,33 @@ namespace Yi.Framework.AiHub.Application.Contracts.Dtos.Announcement;
///
public class AnnouncementLogDto
{
- ///
- /// 日期
- ///
- public string Date { get; set; } = string.Empty;
-
///
/// 标题
///
- public string Title { get; set; } = string.Empty;
+ public string Title { get; set; }
///
/// 内容列表
///
public List Content { get; set; } = new List();
+
+ ///
+ /// 图片url
+ ///
+ public string? ImageUrl { get; set; }
+
+ ///
+ /// 开始时间(系统公告时间、活动开始时间)
+ ///
+ public DateTime StartTime { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ public DateTime? EndTime { get; set; }
+
+ ///
+ /// 公告类型(系统、活动)
+ ///
+ public AnnouncementTypeEnum Type{ get; set; }
}
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/IServices/IAnnouncementService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/IServices/IAnnouncementService.cs
index 77d4d29a..acdda549 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/IServices/IAnnouncementService.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/IServices/IAnnouncementService.cs
@@ -11,5 +11,5 @@ public interface IAnnouncementService
/// 获取公告信息
///
/// 公告信息
- Task GetAsync();
+ Task> GetAsync();
}
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AnnouncementService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AnnouncementService.cs
index 8914cd25..2399070e 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AnnouncementService.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AnnouncementService.cs
@@ -1,3 +1,4 @@
+using Mapster;
using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.Configuration;
using Volo.Abp.Application.Services;
@@ -14,13 +15,13 @@ namespace Yi.Framework.AiHub.Application.Services;
///
public class AnnouncementService : ApplicationService, IAnnouncementService
{
- private readonly ISqlSugarRepository _announcementRepository;
+ private readonly ISqlSugarRepository _announcementRepository;
private readonly IConfiguration _configuration;
private readonly IDistributedCache _announcementCache;
private const string AnnouncementCacheKey = "AiHub:Announcement";
public AnnouncementService(
- ISqlSugarRepository announcementRepository,
+ ISqlSugarRepository announcementRepository,
IConfiguration configuration,
IDistributedCache announcementCache)
{
@@ -32,7 +33,7 @@ public class AnnouncementService : ApplicationService, IAnnouncementService
///
/// 获取公告信息
///
- public async Task GetAsync()
+ public async Task> GetAsync()
{
// 使用 GetOrAddAsync 从缓存获取或添加数据,缓存1小时
var cacheData = await _announcementCache.GetOrAddAsync(
@@ -44,11 +45,7 @@ public class AnnouncementService : ApplicationService, IAnnouncementService
}
);
- return new AnnouncementOutput
- {
- Version = cacheData?.Version ?? "v1.0.0",
- Logs = cacheData?.Logs ?? new List()
- };
+ return cacheData?.Logs ?? new List();
}
///
@@ -56,25 +53,15 @@ public class AnnouncementService : ApplicationService, IAnnouncementService
///
private async Task LoadAnnouncementDataAsync()
{
- // 从配置文件读取版本号,如果没有配置则使用默认值
- var version = _configuration["AiHubVersion"] ?? "v1.0.0";
-
// 查询所有公告日志,按日期降序排列
var logs = await _announcementRepository._DbQueryable
- .OrderByDescending(x => x.Date)
+ .OrderByDescending(x => x.StartTime)
.ToListAsync();
// 转换为 DTO
- var logDtos = logs.Select(log => new AnnouncementLogDto
- {
- Date = log.Date.ToString("yyyy-MM-dd"),
- Title = log.Title,
- Content = log.Content
- }).ToList();
-
+ var logDtos = logs.Adapt>();
return new AnnouncementCacheDto
{
- Version = version,
Logs = logDtos
};
}
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/AnnouncementTypeEnum.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/AnnouncementTypeEnum.cs
new file mode 100644
index 00000000..fa898e18
--- /dev/null
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain.Shared/Enums/AnnouncementTypeEnum.cs
@@ -0,0 +1,7 @@
+namespace Yi.Framework.AiHub.Domain.Shared.Enums;
+
+public enum AnnouncementTypeEnum
+{
+ Activity=1,
+ System=2
+}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Entities/AnnouncementAggregateRoot.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Entities/AnnouncementAggregateRoot.cs
new file mode 100644
index 00000000..e2e05b0d
--- /dev/null
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Entities/AnnouncementAggregateRoot.cs
@@ -0,0 +1,52 @@
+using SqlSugar;
+using Volo.Abp.Domain.Entities.Auditing;
+using Yi.Framework.AiHub.Domain.Shared.Enums;
+
+namespace Yi.Framework.AiHub.Domain.Entities;
+
+///
+/// 公告日志
+///
+[SugarTable("Ai_Announcement")]
+public class AnnouncementAggregateRoot : FullAuditedAggregateRoot
+{
+ public AnnouncementAggregateRoot()
+ {
+ }
+
+ ///
+ /// 标题
+ ///
+ public string Title { get; set; } = string.Empty;
+
+ ///
+ /// 内容列表(JSON格式存储)
+ ///
+ [SugarColumn(IsJson = true, IsNullable = false)]
+ public List Content { get; set; } = new List();
+
+ ///
+ /// 备注
+ ///
+ public string? Remark { get; set; }
+
+ ///
+ /// 图片url
+ ///
+ public string? ImageUrl { get; set; }
+
+ ///
+ /// 开始时间(系统公告时间、活动开始时间)
+ ///
+ public DateTime StartTime { get; set; }
+
+ ///
+ /// 活动结束时间
+ ///
+ public DateTime? EndTime { get; set; }
+
+ ///
+ /// 公告类型(系统、活动)
+ ///
+ public AnnouncementTypeEnum Type{ get; set; }
+}
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Entities/AnnouncementLogAggregateRoot.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Entities/AnnouncementLogAggregateRoot.cs
deleted file mode 100644
index ec890394..00000000
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Entities/AnnouncementLogAggregateRoot.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-using SqlSugar;
-using Volo.Abp.Domain.Entities.Auditing;
-
-namespace Yi.Framework.AiHub.Domain.Entities;
-
-///
-/// 公告日志
-///
-[SugarTable("Ai_AnnouncementLog")]
-[SugarIndex($"index_{nameof(Date)}", nameof(Date), OrderByType.Desc)]
-public class AnnouncementLogAggregateRoot : FullAuditedAggregateRoot
-{
- public AnnouncementLogAggregateRoot()
- {
- }
-
- public AnnouncementLogAggregateRoot(DateTime date, string title, List content)
- {
- Date = date;
- Title = title;
- Content = content;
- }
-
- ///
- /// 日期
- ///
- public DateTime Date { get; set; }
-
- ///
- /// 标题
- ///
- public string Title { get; set; } = string.Empty;
-
- ///
- /// 内容列表(JSON格式存储)
- ///
- [SugarColumn(IsJson = true, IsNullable = false)]
- public List Content { get; set; } = new List();
-
- ///
- /// 备注
- ///
- public string? Remark { get; set; }
-}
diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
index 1e701178..2149f1b5 100644
--- a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
+++ b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
@@ -29,6 +29,7 @@ using Volo.Abp.Swashbuckle;
using Yi.Abp.Application;
using Yi.Abp.SqlsugarCore;
using Yi.Framework.AiHub.Application;
+using Yi.Framework.AiHub.Application.Services;
using Yi.Framework.AiHub.Domain.Entities;
using Yi.Framework.AspNetCore;
using Yi.Framework.AspNetCore.Authentication.OAuth;
@@ -354,8 +355,9 @@ namespace Yi.Abp.Web
var app = context.GetApplicationBuilder();
app.UseRouting();
- //app.ApplicationServices.GetRequiredService().SqlSugarClient.CodeFirst.InitTables();
-
+ app.ApplicationServices.GetRequiredService().SqlSugarClient.CodeFirst.InitTables();
+ // app.ApplicationServices.GetRequiredService().SqlSugarClient.CodeFirst.InitTables();
+
//跨域
app.UseCors(DefaultCorsPolicyName);
diff --git a/Yi.Ai.Vue3/types/import_meta.d.ts b/Yi.Ai.Vue3/types/import_meta.d.ts
index d8a60d41..b3e9d275 100644
--- a/Yi.Ai.Vue3/types/import_meta.d.ts
+++ b/Yi.Ai.Vue3/types/import_meta.d.ts
@@ -6,7 +6,6 @@ interface ImportMetaEnv {
readonly VITE_WEB_ENV: string;
readonly VITE_WEB_BASE_API: string;
readonly VITE_API_URL: string;
- readonly VITE_BUILD_COMPRESS: string;
readonly VITE_SSO_SEVER_URL: string;
readonly VITE_APP_VERSION: string;
}