ApiGroupController.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. using Vo;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Model;
  4. using Services;
  5. using Model.Base;
  6. using Vo.Admin;
  7. using Dto.Admin;
  8. using Mapster;
  9. using Infrastructure;
  10. using Util;
  11. namespace Controllers.Admin
  12. {
  13. /// <summary>
  14. /// ApiGroup)Controller
  15. /// </summary>
  16. // [Route("${Router}$")]
  17. // [ApiExplorerSettings(GroupName = "ApiGroup")]
  18. public class ApiGroupController : BaseController
  19. {
  20. /// <summary>
  21. /// api分组接口
  22. /// </summary>
  23. private readonly IApiGroupService _ApiGroupService;
  24. private readonly IApiInfoService _ApiInfoService;
  25. public ApiGroupController(IApiGroupService ApiGroupService, IApiInfoService ApiInfoService)
  26. {
  27. _ApiGroupService = ApiGroupService;
  28. _ApiInfoService = ApiInfoService;
  29. }
  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/ApiGroup/getApiGroupList")]
  38. public IActionResult getApiGroupList([FromQuery] PagerInfo page, [FromQuery] ApiGroup param)
  39. {
  40. var response = _ApiGroupService.getApiGroupList(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/ApiGroup/getApiTree")]
  50. public IActionResult getApiTree([FromQuery] GetApiTreeDto param)
  51. {
  52. var response = _ApiGroupService.getApiTree(param);
  53. return SUCCESS(response);
  54. }
  55. [HttpGet]
  56. [Route("/v1/omega_source/Test/nodeApiData")]
  57. public IActionResult nodeApiData()
  58. {
  59. var response = new List<Dictionary<string, object>>();
  60. var item = new Dictionary<string, object>();
  61. item.Add("title", "标题1");
  62. item.Add("detail", "介绍1");
  63. item.Add("id", 1);
  64. var fillData = new List<Dictionary<string, object>>();
  65. var fillItem = new Dictionary<string, object>();
  66. fillItem.Add("key", "input");
  67. fillItem.Add("json", new List<Dictionary<string, object>>());
  68. fillData.Add(fillItem);
  69. fillItem = new Dictionary<string, object>();
  70. fillItem.Add("key", "output");
  71. fillItem.Add("json", new List<Dictionary<string, object>>());
  72. fillData.Add(fillItem);
  73. item.Add("fillData", fillData);
  74. var children = new List<Dictionary<string, object>>();
  75. var childItem = new Dictionary<string, object>();
  76. childItem.Add("title", "子标题1");
  77. childItem.Add("detail", "子介绍1");
  78. childItem.Add("id", 3);
  79. childItem.Add("fillData", fillData);
  80. children.Add(childItem);
  81. childItem = new Dictionary<string, object>();
  82. childItem.Add("title", "子标题2");
  83. childItem.Add("detail", "子介绍2");
  84. childItem.Add("id", 4);
  85. childItem.Add("fillData", fillData);
  86. children.Add(childItem);
  87. item.Add("children", children);
  88. response.Add(item);
  89. return SUCCESS(response);
  90. }
  91. /// <summary>
  92. /// 获取接口树结构
  93. /// </summary>
  94. /// <param name="param">参数请求体</param>
  95. /// <returns>接口树结构</returns>
  96. [HttpGet]
  97. [Route("/v1/omega_source/ApiGroup/getApiGroupTree")]
  98. public IActionResult getApiGroupTree()
  99. {
  100. var response = _ApiGroupService.getApiGroupTree();
  101. return SUCCESS(response);
  102. }
  103. /// <summary>
  104. /// 详情
  105. /// </summary>
  106. /// <param name="param">参数请求体</param>
  107. /// <returns>详情</returns>
  108. [HttpGet]
  109. [Route("/v1/omega_source/ApiGroup/getApiGroupQuery")]
  110. public IActionResult getApiGroupQuery([FromQuery] ApiGroup param)
  111. {
  112. var response = _ApiGroupService.GetFirst(m => m.id == param.id).Adapt<GetApiGroupQueryVo>();
  113. return SUCCESS(response);
  114. }
  115. /// <summary>
  116. /// 添加
  117. /// </summary>
  118. /// <param name="param">参数请求体</param>
  119. /// <returns>添加</returns>
  120. [HttpPost]
  121. [Route("/v1/omega_source/ApiGroup/addApiGroup")]
  122. public IActionResult addApiGroup([FromBody] ApiGroup param)
  123. {
  124. var modal = param.Adapt<ApiGroup>().ToCreate(HttpContext);
  125. var response = _ApiGroupService.InsertReturnIdentity(modal);
  126. return SUCCESS(response);
  127. }
  128. /// <summary>
  129. /// 修改
  130. /// </summary>
  131. /// <param name="param">参数请求体</param>
  132. /// <returns>修改</returns>
  133. [HttpPut]
  134. [Route("/v1/omega_source/ApiGroup/updateApiGroup")]
  135. public IActionResult updateApiGroup([FromBody] ApiGroup param)
  136. {
  137. var modal = param.Adapt<ApiGroup>().ToUpdate(HttpContext);
  138. var response = _ApiGroupService.Update(modal, true);
  139. return SUCCESS(response);
  140. }
  141. /// <summary>
  142. /// 删除
  143. /// </summary>
  144. /// <param name="id">ID</param>
  145. /// <returns>删除</returns>
  146. [HttpDelete]
  147. [Route("/v1/omega_source/ApiGroup/deleteApiGroup/{id}")]
  148. public IActionResult deleteApiGroup(int id)
  149. {
  150. var response = _ApiGroupService.Delete(id);
  151. return SUCCESS(response);
  152. }
  153. /// <summary>
  154. /// 生成api文档
  155. /// </summary>
  156. /// <param name="param">参数请求体</param>
  157. /// <returns>生成api文档</returns>
  158. [HttpPost]
  159. [Route("/v1/omega_source/ApiGroup/makeApiDoc")]
  160. public IActionResult makeApiDoc([FromBody] MakeApiDocDto param)
  161. {
  162. TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext);
  163. _ApiGroupService.sycnApiToSystem(new SycnApiToSystemDto()
  164. {
  165. projectId = 0,
  166. serviceId = param.serviceId,
  167. groupId = param.groupId,
  168. env = "test"
  169. });
  170. _ApiGroupService.sycnApiToSystem(new SycnApiToSystemDto()
  171. {
  172. projectId = 0,
  173. serviceId = param.serviceId,
  174. groupId = param.groupId,
  175. env = "dis"
  176. });
  177. var response = _ApiGroupService.makeApiDoc(param, loginUser);
  178. return SUCCESS(response);
  179. }
  180. /// <summary>
  181. /// 同步api到管理平台
  182. /// </summary>
  183. /// <param name="param">参数请求体</param>
  184. /// <returns>同步api到管理平台</returns>
  185. [HttpPost]
  186. [Route("/v1/omega_source/ApiGroup/sycnApiToSystem")]
  187. public IActionResult sycnApiToSystem([FromBody] SycnApiToSystemDto param)
  188. {
  189. var response = _ApiGroupService.sycnApiToSystem(param);
  190. if(response == "同步成功")
  191. {
  192. return SUCCESS(response);
  193. }
  194. return ToResponse(ResultCode.FAIL, response);
  195. }
  196. }
  197. }