DatabaseFieldController.cs 6.1 KB

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