DatabaseFieldController.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. using Vo;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Model;
  4. using Services;
  5. using Model.Base;
  6. using Vo.Admin;
  7. using Mapster;
  8. using Infrastructure;
  9. using Dto.Admin;
  10. namespace Controllers.Admin
  11. {
  12. /// <summary>
  13. /// DatabaseField)Controller
  14. /// </summary>
  15. // [Route("${Router}$")]
  16. // [ApiExplorerSettings(GroupName = "DatabaseField")]
  17. public class DatabaseFieldController : BaseController
  18. {
  19. private readonly IDatabaseFieldService _DatabaseFieldService;
  20. private readonly IDatabaseFieldTabsService _DatabaseFieldTabsService;
  21. private readonly IDatabaseTableService _DatabaseTableService;
  22. public DatabaseFieldController(IDatabaseFieldService DatabaseFieldService, IDatabaseFieldTabsService DatabaseFieldTabsService, IDatabaseTableService DatabaseTableService)
  23. {
  24. _DatabaseFieldService = DatabaseFieldService;
  25. _DatabaseFieldTabsService = DatabaseFieldTabsService;
  26. _DatabaseTableService = DatabaseTableService;
  27. }
  28. /// <param name="page">分页参数</param>
  29. /// <summary>
  30. /// 列表
  31. /// </summary>
  32. /// <param name="page">分页对象</param>
  33. /// <param name="param">参数请求体</param>
  34. /// <returns>列表</returns>
  35. [HttpGet]
  36. [Route("/v1/omega_source/DatabaseField/getDatabaseFieldList")]
  37. public IActionResult getDatabaseFieldList([FromQuery] PagerInfo page, [FromQuery] DatabaseField param)
  38. {
  39. var response = _DatabaseFieldService.getDatabaseFieldList(page, param);
  40. return SUCCESS(response);
  41. }
  42. /// <summary>
  43. /// 详情
  44. /// </summary>
  45. /// <param name="param">参数请求体</param>
  46. /// <returns>详情</returns>
  47. [HttpGet]
  48. [Route("/v1/omega_source/DatabaseField/getDatabaseFieldQuery")]
  49. public IActionResult getDatabaseFieldQuery([FromQuery] DatabaseField param)
  50. {
  51. var response = _DatabaseFieldService.GetFirst(m => m.id == param.id) ?? new DatabaseField();
  52. return SUCCESS(response);
  53. }
  54. /// <summary>
  55. /// 添加
  56. /// </summary>
  57. /// <param name="param">参数请求体</param>
  58. /// <returns>添加</returns>
  59. [HttpPost]
  60. [Route("/v1/omega_source/DatabaseField/addDatabaseField")]
  61. public IActionResult addDatabaseField([FromBody] AddDatabaseFieldDto param)
  62. {
  63. var modal = param.Adapt<DatabaseField>().ToCreate(HttpContext);
  64. modal.tabId = _DatabaseFieldTabsService.AddDatabaseFieldTabs(param.tabId, param.tableId);
  65. var response = _DatabaseFieldService.InsertReturnIdentity(modal);
  66. return SUCCESS(response);
  67. }
  68. /// <summary>
  69. /// 修改
  70. /// </summary>
  71. /// <param name="param">参数请求体</param>
  72. /// <returns>修改</returns>
  73. [HttpPut]
  74. [Route("/v1/omega_source/DatabaseField/updateDatabaseField")]
  75. public IActionResult updateDatabaseField([FromBody] AddDatabaseFieldDto param)
  76. {
  77. var modal = param.Adapt<DatabaseField>().ToCreate(HttpContext);
  78. modal.tabId = _DatabaseFieldTabsService.AddDatabaseFieldTabs(param.tabId, param.tableId);
  79. var response = _DatabaseFieldService.Update(modal, true);
  80. return SUCCESS(response);
  81. }
  82. /// <summary>
  83. /// 删除
  84. /// </summary>
  85. /// <param name="id">ID</param>
  86. /// <returns>删除</returns>
  87. [HttpDelete]
  88. [Route("/v1/omega_source/DatabaseField/deleteDatabaseField/{id}")]
  89. public IActionResult deleteDatabaseField(int id)
  90. {
  91. var response = _DatabaseFieldService.Delete(id);
  92. return SUCCESS(response);
  93. }
  94. /// <summary>
  95. /// 修改字段属性
  96. /// </summary>
  97. /// <param name="param">参数请求体</param>
  98. /// <returns>修改字段属性</returns>
  99. [HttpPut]
  100. [Route("/v1/omega_source/DatabaseField/updateDatabaseFieldAttr")]
  101. public IActionResult updateDatabaseFieldAttr([FromBody] List<UpdateDatabaseFieldAttrDto> param)
  102. {
  103. foreach(UpdateDatabaseFieldAttrDto sub in param)
  104. {
  105. var modal = sub.Adapt<DatabaseField>().ToCreate(HttpContext);
  106. var item = _DatabaseFieldService.GetFirst(m => m.id == sub.id);
  107. if(item != null)
  108. {
  109. item.showList = sub.showList;
  110. item.showEdit = sub.showEdit;
  111. item.showQuery = sub.showQuery;
  112. item.exportFlag = sub.exportFlag;
  113. item.importFlag = sub.importFlag;
  114. _DatabaseFieldService.Update(item);
  115. }
  116. }
  117. return SUCCESS("ok");
  118. }
  119. /// <summary>
  120. /// 克隆字段
  121. /// </summary>
  122. /// <param name="param">参数请求体</param>
  123. /// <returns>克隆字段</returns>
  124. [HttpPost]
  125. [Route("/v1/omega_source/DatabaseField/copyDatabaseField")]
  126. public IActionResult copyDatabaseField([FromBody] CopyDatabaseFieldDto param)
  127. {
  128. var targetTable = _DatabaseTableService.GetFirst(m => m.id == param.targetTableId) ?? new DatabaseTable();
  129. _DatabaseFieldService.copyDatabaseField(param, targetTable);
  130. return SUCCESS("ok");
  131. }
  132. /// <summary>
  133. /// 生成
  134. /// </summary>
  135. /// <param name="param">参数请求体</param>
  136. /// <returns>生成</returns>
  137. [HttpPut]
  138. [Route("/v1/omega_source/DatabaseField/makeDatabaseField")]
  139. public IActionResult makeDatabaseField([FromBody] MakeDatabaseFieldDto param)
  140. {
  141. return SUCCESS("ok");
  142. }
  143. }
  144. }