This commit is contained in:
owenchen committed 2026-05-21 14:44:02 +08:00
1 parent d795476b1f
commit 0ba1352862
29 files changed
+526 -157

No files matched your search

@@ -1,9 +1,11 @@
using CloudBuilder.Core.DatabaseAccessor.Entity;
using Microsoft.AspNetCore.Authorization;
using CloudBuilder.Core.DatabaseAccessor;
using CloudBuilder.AI.Data;
using CloudBuilder.AI.Entity;
using CloudBuilder.AI.Policy;
using CloudBuilder.AI.SearchCriteria;
using CloudBuilder.Core.DatabaseAccessor;
using CloudBuilder.Core.DatabaseAccessor.Entity;
using CloudBuilder.Core.Service;
using Microsoft.AspNetCore.Authorization;
namespace CloudBuilder.AI.Service
{
public class AiChapterService : IAiChapterService
@@ -17,7 +19,7 @@ namespace CloudBuilder.AI.Service
repository = service.GetRepository<IRepository<AiChapterEntity>>();
}
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Find)]
[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Find)]
public AiChapterEntity FindByKey(string key)
{
return repository.DetachedEntities.Where(x => x.Guid == key).FirstOrDefault()!;
@@ -34,26 +36,64 @@ namespace CloudBuilder.AI.Service
return repository.DetachedEntities.Where(x => x.BookGuid == aiBookEntity.Guid).ToArray();
}
//[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Find)]
public dynamic FindBySearchCriteria(AiChapterSearchCriteria criteria)
[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Find)]
public AiChapterResultData FindBySearchCriteria(AiChapterSearchCriteria criteria)
{
throw new NotImplementedException();
AiChapterResultData data = new AiChapterResultData();
AiChapterEntity[] list = null;
int count = 0;
string sqlWhere = null;
if (criteria.Filter != null && criteria.Filter.Length > 0)
{
sqlWhere = SearchFilter.ComposeWhereClause(criteria.Filter);
}
AiChapterEntity entity = AiChapterEntity.GetInstance();
string sql = entity.GetSelectTopFrom(criteria.limit, criteria.page, criteria.orderby.StringToDbField(), criteria.orderbytag, sqlWhere);
string err = null;
try
{
list = repository.FromSql(sql).ToArray();
}
catch (System.Exception ex)
{
err = ex.Message;
}
if (list != null && list.Length > 0)
{
sql = entity.GetSelectCountFrom(sqlWhere);
count = (int)repository.ExecuteScalar(sql);
}
data.Limit = criteria.limit;
data.Page = criteria.page;
data.Datas = list.OrderBy(x=>x.ChapterIndex).ToArray();
data.Total = count;
//data.Sql = sql;
data.ErrorMessage = err;
return data;
}
//[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Print)]
//[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Print)]
public dynamic PrintBySearchCriteria(AiChapterSearchCriteria criteria)
{
throw new NotImplementedException();
}
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Insert)]
[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Insert)]
[UnitOfWork]
public AiChapterEntity Insert(AiChapterEntity data)
{
throw new NotImplementedException();
}
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Update)]
[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Update)]
[UnitOfWork]
public AiChapterEntity Update(AiChapterEntity data)
{
@@ -61,7 +101,7 @@ namespace CloudBuilder.AI.Service
}
[PermissionOperate(name: AIPermissionPolicy.AiChapter, operate: Operate.Delete)]
[PermissionOperate(name: AIPermissionPolicy.AiBook, operate: Operate.Delete)]
[UnitOfWork]
public void Delete(string key)
{