DatabaseFieldController.cs 6.2 KB

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