46 lines
1.6 KiB
C#
46 lines
1.6 KiB
C#
using Volo.Abp.Domain.Services;
|
|
using Volo.Abp.Users;
|
|
using Yi.Framework.AiHub.Application.Contracts.Dtos;
|
|
using Yi.Framework.AiHub.Domain.Entities;
|
|
using Yi.Framework.AiHub.Domain.Entities.Chat;
|
|
using Yi.Framework.SqlSugarCore.Abstractions;
|
|
|
|
namespace Yi.Framework.AiHub.Domain.Managers;
|
|
|
|
public class AiMessageManager : DomainService
|
|
{
|
|
private readonly ISqlSugarRepository<MessageAggregateRoot> _repository;
|
|
|
|
public AiMessageManager(ISqlSugarRepository<MessageAggregateRoot> repository)
|
|
{
|
|
_repository = repository;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建系统消息
|
|
/// </summary>
|
|
/// <param name="sessionId"></param>
|
|
/// <param name="userId"></param>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
public async Task CreateSystemMessageAsync(Guid userId, Guid sessionId, MessageInputDto input)
|
|
{
|
|
input.Role = "system";
|
|
var message = new MessageAggregateRoot(userId, sessionId, input.Content, input.Role, input.ModelId,input.TokenUsage);
|
|
await _repository.InsertAsync(message);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建系统消息
|
|
/// </summary>
|
|
/// <param name="sessionId"></param>
|
|
/// <param name="userId"></param>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
public async Task CreateUserMessageAsync(Guid userId, Guid sessionId, MessageInputDto input)
|
|
{
|
|
input.Role = "user";
|
|
var message = new MessageAggregateRoot(userId, sessionId, input.Content, input.Role, input.ModelId,input.TokenUsage);
|
|
await _repository.InsertAsync(message);
|
|
}
|
|
} |