using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HRM.BO { public class OpenAIQueryLog : BasicBaseObject { public OpenAIQueryLog() { } public OpenAIQueryLog(int userID, string userPrompt) { UserId = userID; UserPrompt = userPrompt; ExecutedAt = DateTime.Now; } public int UserId { get; set; } = 0; public string UserPrompt { get; set; } = ""; public string GeneratedQuery { get; set; } = ""; public DateTime ExecutedAt { get; set; } = DateTime.Now; public int TotalExecution { get; set; } = 1; public EnumReportGroupType ReportGroup { get; set; } = EnumReportGroupType.Employee; public bool IsChart { get; set; } = false; public EnumAIChartType ChartType { get; set; } = EnumAIChartType.None; public string Title { get; set; } = ""; public bool IsCommon { get; set; } = false; } public interface IOpenAIQueryLogService { void Save(OpenAIQueryLog queryLog); void UpdateQueryLogTotalExecution(OpenAIQueryLog oQueryLog); void ChatShareWithOthers(OpenAIQueryLog oQueryLog); List GetAllQueryLogByUserID(int userID, EnumReportGroupType reportGroup); } }