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; using Common; using Tasks; namespace Controllers.Admin { /// /// DatabaseTable)Controller /// // [Route("${Router}$")] // [ApiExplorerSettings(GroupName = "DatabaseTable")] public class DatabaseTableController : BaseController { /// /// api分组接口 /// private readonly IDatabaseTableService _DatabaseTableService; private readonly IDatabaseInfoService _DatabaseInfoService; public DatabaseTableController(IDatabaseTableService DatabaseTableService, IDatabaseInfoService DatabaseInfoService) { _DatabaseTableService = DatabaseTableService; _DatabaseInfoService = DatabaseInfoService; } /// 分页参数 /// /// 列表 /// /// 分页对象 /// 参数请求体 /// 列表 [HttpGet] [Route("/v1/omega_source/DatabaseTable/getDatabaseTableList")] public IActionResult getDatabaseTableList([FromQuery] PagerInfo page, [FromQuery] DatabaseTable param) { var response = _DatabaseTableService.getDatabaseTableList(page, param); return SUCCESS(response); } /// /// 详情 /// /// 参数请求体 /// 详情 [HttpGet] [Route("/v1/omega_source/DatabaseTable/getDatabaseTableQuery")] public IActionResult getDatabaseTableQuery([FromQuery] DatabaseTable param) { var response = _DatabaseTableService.GetFirst(m => m.id == param.id).Adapt(); return SUCCESS(response); } /// /// 添加 /// /// 参数请求体 /// 添加 [HttpPost] [Route("/v1/omega_source/DatabaseTable/addDatabaseTable")] public IActionResult addDatabaseTable([FromBody] DatabaseTable param) { var modal = param.Adapt().ToCreate(HttpContext); var response = _DatabaseTableService.addDatabaseTable(modal); return SUCCESS(response); } /// /// 修改 /// /// 参数请求体 /// 修改 [HttpPut] [Route("/v1/omega_source/DatabaseTable/updateDatabaseTable")] public IActionResult updateDatabaseTable([FromBody] DatabaseTable param) { var modal = param.Adapt().ToUpdate(HttpContext); var response = _DatabaseTableService.Update(modal, true); return SUCCESS(response); } /// /// 删除 /// /// ID /// 删除 [HttpDelete] [Route("/v1/omega_source/DatabaseTable/deleteDatabaseTable/{id}")] public IActionResult deleteDatabaseTable(int id) { var response = _DatabaseTableService.Delete(id); return SUCCESS(response); } /// /// 克隆表 /// /// 参数请求体 /// 克隆表 [HttpPost] [Route("/v1/omega_source/DatabaseTable/copyDatabaseTable")] public IActionResult copyDatabaseTable([FromBody] CopyDatabaseTableDto param) { _DatabaseTableService.copyDatabaseTable(param); return SUCCESS("ok"); } /// /// 生成 /// /// 参数请求体 /// 生成 [HttpPut] [Route("/v1/omega_source/DatabaseTable/makeDatabaseTable")] public IActionResult makeDatabaseTable([FromBody] MakeDatabaseTableDto param) { if(param.id.Length == 0) { return ToResponse(ResultCode.FAIL, "表ID不能为空"); } TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext); var tableId = param.id[0]; var databaseTable = _DatabaseTableService.GetFirst(m => m.id == tableId) ?? new DatabaseTable(); var databaseInfo = _DatabaseInfoService.GetFirst(m => m.id == databaseTable.databaseId) ?? new DatabaseInfo(); string res = _DatabaseTableService.makeDatabaseTable(param, databaseInfo, loginUser); string id = MakeHelper.Instance.DoQueue(res); Dictionary dic = new Dictionary(); dic.Add("makeObjectId", id); return SUCCESS(dic); } /// /// 根据服务ID查询列表 /// /// 分页对象 /// 参数请求体 /// 根据服务ID查询列表 [HttpGet] [Route("/v1/omega_source/DatabaseTable/getDatabaseTableListByIds")] public IActionResult getDatabaseTableListByIds([FromQuery] PagerInfo page, [FromQuery] GetDatabaseTableListByIdsDto param) { var response = _DatabaseTableService.getDatabaseTableListByIds(page, param); return SUCCESS(response); } [HttpGet] [Route("/v1/omega_source/DatabaseTable/getTableListByIds")] public IActionResult getTableListByIds([FromQuery] GetTableListByIdsDto param) { List idList = Tools.SpitIntArrary(param.ids).ToList(); var response = _DatabaseTableService.GetList(m => idList.Contains(m.id)).ToList(); return SUCCESS(response); } } }