using Mapster; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Volo.Abp.Domain.Repositories; using Volo.Abp.Users; using Yi.Framework.AiHub.Application.Contracts.Dtos; using Yi.Framework.AiHub.Domain.Entities; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.AiHub.Application.Services; public class SessionService : CrudAppService { private readonly ISqlSugarRepository _repository; public readonly ISqlSugarRepository _messageRepository; public SessionService(ISqlSugarRepository repository, ISqlSugarRepository messageRepository) : base(repository) { _repository = repository; _messageRepository = messageRepository; } /// /// 创建会话 /// /// /// [Authorize] public override async Task CreateAsync(SessionDto input) { var entity = await MapToEntityAsync(input); entity.UserId = CurrentUser.GetId(); await _repository.InsertAsync(entity); return entity.Adapt(); } /// /// 详情会话 /// /// /// [Authorize] public override Task GetAsync(Guid id) { return base.GetAsync(id); } /// /// 编辑会话 /// /// /// /// [Authorize] public override Task UpdateAsync(Guid id, SessionDto input) { return base.UpdateAsync(id, input); } /// /// 删除会话 /// /// /// [Authorize] public override async Task DeleteAsync(Guid id) { await base.DeleteAsync(id); //对应的消息一起删除 await _messageRepository.DeleteAsync(x => x.SessionId == id); } /// /// 查询会话 /// /// /// [Authorize] public override Task> GetListAsync(SessionGetListInput input) { return base.GetListAsync(input); } }