ApiInfoController.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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 Common;
  11. namespace Controllers.Admin
  12. {
  13. /// <summary>
  14. /// ApiInfo)Controller
  15. /// </summary>
  16. // [Route("${Router}$")]
  17. // [ApiExplorerSettings(GroupName = "ApiInfo")]
  18. public class ApiInfoController : BaseController
  19. {
  20. /// <summary>
  21. /// api分组接口
  22. /// </summary>
  23. private readonly IApiInfoService _ApiInfoService;
  24. private readonly IApiGroupService _ApiGroupService;
  25. public ApiInfoController(IApiInfoService ApiInfoService, IApiGroupService ApiGroupService)
  26. {
  27. _ApiInfoService = ApiInfoService;
  28. _ApiGroupService = ApiGroupService;
  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/ApiInfo/getApiInfoList")]
  39. public IActionResult getApiInfoList([FromQuery] PagerInfo page, [FromQuery] ApiInfo param)
  40. {
  41. var response = _ApiInfoService.getApiInfoList(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/ApiInfo/getApiInfoListByProId")]
  51. public IActionResult getApiInfoListByProId([FromQuery] PagerInfo page, [FromQuery] ApiInfo param)
  52. {
  53. var response = _ApiInfoService.getApiInfoListByProId(page, param);
  54. return SUCCESS(response);
  55. }
  56. /// <summary>
  57. /// 详情
  58. /// </summary>
  59. /// <param name="param">参数请求体</param>
  60. /// <returns>详情</returns>
  61. [HttpGet]
  62. [Route("/v1/omega_source/ApiInfo/getApiInfoQuery")]
  63. public IActionResult getApiInfoQuery([FromQuery] ApiInfo param)
  64. {
  65. var response = _ApiInfoService.GetFirst(m => m.id == param.id).Adapt<GetApiInfoQueryVo>();
  66. return SUCCESS(response);
  67. }
  68. /// <summary>
  69. /// 添加
  70. /// </summary>
  71. /// <param name="param">参数请求体</param>
  72. /// <returns>添加</returns>
  73. [HttpPost]
  74. [Route("/v1/omega_source/ApiInfo/addApiInfo")]
  75. public IActionResult addApiInfo([FromBody] AddApiInfoDto param)
  76. {
  77. var modal = param.Adapt<ApiInfo>().ToCreate(HttpContext);
  78. var response = _ApiInfoService.InsertReturnIdentity(modal);
  79. return SUCCESS(response);
  80. }
  81. /// <summary>
  82. /// 修改
  83. /// </summary>
  84. /// <param name="param">参数请求体</param>
  85. /// <returns>修改</returns>
  86. [HttpPut]
  87. [Route("/v1/omega_source/ApiInfo/updateApiInfo")]
  88. public IActionResult updateApiInfo([FromBody] AddApiInfoDto param)
  89. {
  90. var modal = param.Adapt<ApiInfo>().ToCreate(HttpContext);
  91. var response = _ApiInfoService.Update(modal, true);
  92. return SUCCESS(response);
  93. }
  94. /// <summary>
  95. /// 删除
  96. /// </summary>
  97. /// <param name="id">ID</param>
  98. /// <returns>删除</returns>
  99. [HttpDelete]
  100. [Route("/v1/omega_source/ApiInfo/deleteApiInfo/{id}")]
  101. public IActionResult deleteApiInfo(int id)
  102. {
  103. var response = _ApiInfoService.Delete(id);
  104. return SUCCESS(response);
  105. }
  106. /// <summary>
  107. /// 批量删除
  108. /// </summary>
  109. /// <param name="param">参数请求体</param>
  110. /// <returns>批量删除</returns>
  111. [HttpPut]
  112. [Route("/v1/omega_source/ApiInfo/batchDeleteApiInfo")]
  113. public IActionResult batchDeleteApiInfo([FromBody] BatchDeleteApiInfoDto param)
  114. {
  115. foreach(var id in param.idList)
  116. {
  117. _ApiInfoService.Delete(id);
  118. }
  119. return SUCCESS("ok");
  120. }
  121. /// <summary>
  122. /// 克隆接口
  123. /// </summary>
  124. /// <param name="param">参数请求体</param>
  125. [HttpPost]
  126. [Route("/v1/omega_source/ApiInfo/copyApiInfo")]
  127. public IActionResult copyApiInfo([FromBody] CopyApiInfoDto param)
  128. {
  129. var group = _ApiGroupService.GetFirst(m => m.id == param.targetGroupId) ?? new ApiGroup();
  130. _ApiInfoService.copyApiInfo(param, group);
  131. return SUCCESS("ok");
  132. }
  133. /// <summary>
  134. /// 初始化接口
  135. /// </summary>
  136. /// <returns>初始化接口</returns>
  137. [HttpPost]
  138. [Route("/v1/omega_source/ApiInfo/initApiInfo")]
  139. public IActionResult initApiInfo([FromBody] InitApiInfoDto param)
  140. {
  141. _ApiInfoService.initApiInfo(param);
  142. return SUCCESS("ok");
  143. }
  144. }
  145. }