CloudBuilder/CloudBuilder.Web.Entry/Controllers/Ai/AiSentenceController.auto.cs
owenchen 4ec2502778 ow
2026-05-29 13:02:41 +08:00

177 lines
6.1 KiB
C#

using CloudBuilder.Core.DatabaseAccessor;
using CloudBuilder.Core.Policy;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Transactions;
using CloudBuilder.Core.Service;
using CloudBuilder.AI.Service;
using CloudBuilder.Core.DatabaseAccessor.Entity;
using CloudBuilder.AI.Data;
using System;
using CloudBuilder.AI.Entity;
using CloudBuilder.AI.SearchCriteria;
using Microsoft.AspNetCore.Mvc;
using CloudBuilder.AI;
namespace CloudBuilder.Web.Entry.Controllers.Ai
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class AiSentenceController : ControllerBase
{
private readonly IApplicationService service;
private readonly IAiSentenceService aiSentenceService;
public AiSentenceController(IApplicationService service, IAiSentenceService aiSentenceService)
{
this.service = service;
this.aiSentenceService= aiSentenceService;
}
[PermissionOperate(name: "AiBook", operate: "Find")]
[HttpPost]
public dynamic FindByKey(Int64 key)
{
try
{
var result = aiSentenceService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Find")]
[HttpPost]
public dynamic FindByChapterId(Int64 chapterId)
{
try
{
var result = aiSentenceService.FindByChapterId(chapterId);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Find")]
[HttpPost]
public dynamic FindBySearchCriteria(AiSentenceSearchCriteria criteria)
{
try
{
var result = aiSentenceService.FindBySearchCriteria(criteria);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiSentenceEntity data)
{
try
{
var result = aiSentenceService.Insert(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiParagraph", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Inserts(AiSentenceEntity[] datas){
try
{
aiSentenceService.Inserts(datas);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Update")]
[HttpPost]
[UnitOfWork]
public dynamic Update(AiSentenceEntity data)
{
try
{
var result = aiSentenceService.Update(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(Int64 key){
try
{
aiSentenceService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}