This commit is contained in:
owenchen committed 2026-05-19 10:58:32 +08:00
1 parent 90f26d0dfc
commit d795476b1f
40 files changed
+2590

No files matched your search

@@ -0,0 +1,154 @@
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.Entity;
using System;
using CloudBuilder.AI.Data;
namespace CloudBuilder.Web.Entry.Controllers.Ai
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class AiBookController : ControllerBase
{
private readonly IApplicationService service;
private readonly IAiBookService aiBookService;
public AiBookController(IApplicationService service, IAiBookService aiBookService)
{
this.service = service;
this.aiBookService= aiBookService;
}
[PermissionOperate(name: "AiBook", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = aiBookService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Find")]
[HttpPost]
public dynamic FindByTitle(string title)
{
try
{
var result = aiBookService.FindByTitle(title);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiBookEntity data)
{
try
{
var result = aiBookService.Insert(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiBookData data){
try
{
aiBookService.Insert(data);
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(AiBookEntity data)
{
try
{
var result = aiBookService.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(string key){
try
{
aiBookService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}
@@ -0,0 +1,113 @@
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.Entity;
using System;
namespace CloudBuilder.Web.Entry.Controllers.Ai
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class AiBookPersonController : ControllerBase
{
private readonly IApplicationService service;
private readonly IAiBookPersonService aiBookPersonService;
public AiBookPersonController(IApplicationService service, IAiBookPersonService aiBookPersonService)
{
this.service = service;
this.aiBookPersonService= aiBookPersonService;
}
[PermissionOperate(name: "AiBookPerson", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = aiBookPersonService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBookPerson", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiBookPersonEntity data)
{
try
{
var result = aiBookPersonService.Insert(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBookPerson", operate: "Update")]
[HttpPost]
[UnitOfWork]
public dynamic Update(AiBookPersonEntity data)
{
try
{
var result = aiBookPersonService.Update(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBookPerson", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(string key){
try
{
aiBookPersonService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}
@@ -0,0 +1,134 @@
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.Entity;
using System;
using CloudBuilder.AI.Data;
namespace CloudBuilder.Web.Entry.Controllers.Ai
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class AiChapterController : ControllerBase
{
private readonly IApplicationService service;
private readonly IAiChapterService aiChapterService;
public AiChapterController(IApplicationService service, IAiChapterService aiChapterService)
{
this.service = service;
this.aiChapterService= aiChapterService;
}
[PermissionOperate(name: "AiChapter", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = aiChapterService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiBook", operate: "Find")]
[HttpPost]
public dynamic FindByTitle(string title)
{
try
{
var result = aiChapterService.FindByTitle(title);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiChapter", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiChapterEntity data)
{
try
{
var result = aiChapterService.Insert(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiChapter", operate: "Update")]
[HttpPost]
[UnitOfWork]
public dynamic Update(AiChapterEntity data)
{
try
{
var result = aiChapterService.Update(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiChapter", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(string key){
try
{
aiChapterService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}
@@ -0,0 +1,114 @@
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.Entity;
using System;
using CloudBuilder.AI.Data;
namespace CloudBuilder.Web.Entry.Controllers.Ai
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class AiChapterPersonController : ControllerBase
{
private readonly IApplicationService service;
private readonly IAiChapterPersonService aiChapterPersonService;
public AiChapterPersonController(IApplicationService service, IAiChapterPersonService aiChapterPersonService)
{
this.service = service;
this.aiChapterPersonService= aiChapterPersonService;
}
[PermissionOperate(name: "AiChapterPerson", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = aiChapterPersonService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiChapterPerson", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiChapterPersonEntity data)
{
try
{
var result = aiChapterPersonService.Insert(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiChapterPerson", operate: "Update")]
[HttpPost]
[UnitOfWork]
public dynamic Update(AiChapterPersonEntity data)
{
try
{
var result = aiChapterPersonService.Update(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiChapterPerson", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(string key){
try
{
aiChapterPersonService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}
@@ -0,0 +1,134 @@
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.Entity;
using System;
using CloudBuilder.AI.Data;
namespace CloudBuilder.Web.Entry.Controllers.Ai
{
[Authorize(AuthorizePolicy.PERMISSION)]
[ApiController]
[Route("[controller]/[action]")]
public class AiParagraphController : ControllerBase
{
private readonly IApplicationService service;
private readonly IAiParagraphService aiParagraphService;
public AiParagraphController(IApplicationService service, IAiParagraphService aiParagraphService)
{
this.service = service;
this.aiParagraphService= aiParagraphService;
}
[PermissionOperate(name: "AiParagraph", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = aiParagraphService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiParagraph", operate: "Insert")]
[HttpPost]
[UnitOfWork]
public dynamic Insert(AiParagraphEntity data)
{
try
{
var result = aiParagraphService.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(AiParagraphEntity[] datas){
try
{
aiParagraphService.Inserts(datas);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiParagraph", operate: "Update")]
[HttpPost]
[UnitOfWork]
public dynamic Update(AiParagraphEntity data)
{
try
{
var result = aiParagraphService.Update(data);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiParagraph", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(string key){
try
{
aiParagraphService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}
@@ -0,0 +1,155 @@
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.Entity;
using System;
using CloudBuilder.AI.Data;
using CloudBuilder.AI.SearchCriteria;
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: "AiSentence", operate: "Find")]
[HttpPost]
public dynamic FindByKey(string key)
{
try
{
var result = aiSentenceService.FindByKey(key);
return result;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
[PermissionOperate(name: "AiSentence", 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: "AiSentence", 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: "AiSentence", 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: "AiSentence", operate: "Delete")]
[HttpPost]
[UnitOfWork]
public dynamic Delete(string key){
try
{
aiSentenceService.Delete(key);
return string.Empty;
}
catch (ValidatedException vex)
{
return vex;
}
catch (Exception ex)
{
return new ServiceErrorException(ex);
}
}
}
}