using Vo; using Microsoft.AspNetCore.Mvc; using Model; using Services; using Model.Base; using Vo.Admin; using Mapster; using Infrastructure; using Dto.Admin; using Util; namespace Controllers.Admin { /// /// DatabaseField)Controller /// // [Route("${Router}$")] // [ApiExplorerSettings(GroupName = "DatabaseField")] public class DatabaseFieldController : BaseController { private readonly IDatabaseFieldService _DatabaseFieldService; private readonly IDatabaseFieldTabsService _DatabaseFieldTabsService; private readonly IDatabaseTableService _DatabaseTableService; public DatabaseFieldController(IDatabaseFieldService DatabaseFieldService, IDatabaseFieldTabsService DatabaseFieldTabsService, IDatabaseTableService DatabaseTableService) { _DatabaseFieldService = DatabaseFieldService; _DatabaseFieldTabsService = DatabaseFieldTabsService; _DatabaseTableService = DatabaseTableService; } /// 分页参数 /// /// 列表 /// /// 分页对象 /// 参数请求体 /// 列表 [HttpGet] [Route("/v1/omega_source/DatabaseField/getDatabaseFieldList")] public IActionResult getDatabaseFieldList([FromQuery] PagerInfo page, [FromQuery] DatabaseField param) { var response = _DatabaseFieldService.getDatabaseFieldList(page, param); return SUCCESS(response); } /// /// 详情 /// /// 参数请求体 /// 详情 [HttpGet] [Route("/v1/omega_source/DatabaseField/getDatabaseFieldQuery")] public IActionResult getDatabaseFieldQuery([FromQuery] DatabaseField param) { var response = _DatabaseFieldService.GetFirst(m => m.id == param.id) ?? new DatabaseField(); return SUCCESS(response); } /// /// 添加 /// /// 参数请求体 /// 添加 [HttpPost] [Route("/v1/omega_source/DatabaseField/addDatabaseField")] public IActionResult addDatabaseField([FromBody] AddDatabaseFieldDto param) { var modal = param.Adapt().ToCreate(HttpContext); modal.tabId = _DatabaseFieldTabsService.AddDatabaseFieldTabs(param.tabId, param.tableId); var response = _DatabaseFieldService.InsertReturnIdentity(modal); return SUCCESS(response); } /// /// 修改 /// /// 参数请求体 /// 修改 [HttpPut] [Route("/v1/omega_source/DatabaseField/updateDatabaseField")] public IActionResult updateDatabaseField([FromBody] AddDatabaseFieldDto param) { var modal = param.Adapt().ToUpdate(HttpContext); modal.tabId = _DatabaseFieldTabsService.AddDatabaseFieldTabs(param.tabId, param.tableId); var response = _DatabaseFieldService.Update(modal, true); return SUCCESS(response); } /// /// 删除 /// /// ID /// 删除 [HttpDelete] [Route("/v1/omega_source/DatabaseField/deleteDatabaseField/{id}")] public IActionResult deleteDatabaseField(int id) { var response = _DatabaseFieldService.Delete(id); return SUCCESS(response); } /// /// 修改字段属性 /// /// 参数请求体 /// 修改字段属性 [HttpPut] [Route("/v1/omega_source/DatabaseField/updateDatabaseFieldAttr")] public IActionResult updateDatabaseFieldAttr([FromBody] List param) { foreach(UpdateDatabaseFieldAttrDto sub in param) { var modal = sub.Adapt().ToUpdate(HttpContext); var item = _DatabaseFieldService.GetFirst(m => m.id == sub.id); if(item != null) { item.showList = sub.showList; item.showEdit = sub.showEdit; item.showQuery = sub.showQuery; item.exportFlag = sub.exportFlag; item.importFlag = sub.importFlag; _DatabaseFieldService.Update(item); } } return SUCCESS("ok"); } /// /// 克隆字段 /// /// 参数请求体 /// 克隆字段 [HttpPost] [Route("/v1/omega_source/DatabaseField/copyDatabaseField")] public IActionResult copyDatabaseField([FromBody] CopyDatabaseFieldDto param) { var targetTable = _DatabaseTableService.GetFirst(m => m.id == param.targetTableId) ?? new DatabaseTable(); _DatabaseFieldService.copyDatabaseField(param, targetTable); return SUCCESS("ok"); } /// /// 生成 /// /// 参数请求体 /// 生成 [HttpPut] [Route("/v1/omega_source/DatabaseField/makeDatabaseField")] public IActionResult makeDatabaseField([FromBody] MakeDatabaseFieldDto param) { TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext); int tableId = param.id.Length > 0 ? param.id[0] : 0; var table = _DatabaseTableService.GetFirst(m => m.id == tableId) ?? new DatabaseTable(); _DatabaseFieldService.makeDatabaseField(param, table, loginUser); return SUCCESS("ok"); } } }