using Vo; using Microsoft.AspNetCore.Mvc; using Model; using Services; using Model.Base; using Vo.Admin; using Dto.Admin; using Mapster; using Infrastructure; using Util; namespace Controllers.Admin { /// /// ApiGroup)Controller /// // [Route("${Router}$")] // [ApiExplorerSettings(GroupName = "ApiGroup")] public class ApiGroupController : BaseController { /// /// api分组接口 /// private readonly IApiGroupService _ApiGroupService; private readonly IApiInfoService _ApiInfoService; public ApiGroupController(IApiGroupService ApiGroupService, IApiInfoService ApiInfoService) { _ApiGroupService = ApiGroupService; _ApiInfoService = ApiInfoService; } /// /// 列表 /// /// 分页对象 /// 参数请求体 /// 列表 [HttpGet] [Route("/v1/omega_source/ApiGroup/getApiGroupList")] public IActionResult getApiGroupList([FromQuery] PagerInfo page, [FromQuery] ApiGroup param) { var response = _ApiGroupService.getApiGroupList(page, param); return SUCCESS(response); } /// /// 获取接口树结构 /// /// 参数请求体 /// 接口树结构 [HttpGet] [Route("/v1/omega_source/ApiGroup/getApiTree")] public IActionResult getApiTree([FromQuery] GetApiTreeDto param) { var response = _ApiGroupService.getApiTree(param); return SUCCESS(response); } [HttpGet] [Route("/v1/omega_source/Test/nodeApiData")] public IActionResult nodeApiData() { var response = new List>(); var item = new Dictionary(); item.Add("title", "标题1"); item.Add("detail", "介绍1"); item.Add("id", 1); var fillData = new List>(); var fillItem = new Dictionary(); fillItem.Add("key", "input"); fillItem.Add("json", new List>()); fillData.Add(fillItem); fillItem = new Dictionary(); fillItem.Add("key", "output"); fillItem.Add("json", new List>()); fillData.Add(fillItem); item.Add("fillData", fillData); var children = new List>(); var childItem = new Dictionary(); childItem.Add("title", "子标题1"); childItem.Add("detail", "子介绍1"); childItem.Add("id", 3); childItem.Add("fillData", fillData); children.Add(childItem); childItem = new Dictionary(); childItem.Add("title", "子标题2"); childItem.Add("detail", "子介绍2"); childItem.Add("id", 4); childItem.Add("fillData", fillData); children.Add(childItem); item.Add("children", children); response.Add(item); return SUCCESS(response); } /// /// 获取接口树结构 /// /// 参数请求体 /// 接口树结构 [HttpGet] [Route("/v1/omega_source/ApiGroup/getApiGroupTree")] public IActionResult getApiGroupTree() { var response = _ApiGroupService.getApiGroupTree(); return SUCCESS(response); } /// /// 详情 /// /// 参数请求体 /// 详情 [HttpGet] [Route("/v1/omega_source/ApiGroup/getApiGroupQuery")] public IActionResult getApiGroupQuery([FromQuery] ApiGroup param) { var response = _ApiGroupService.GetFirst(m => m.id == param.id).Adapt(); return SUCCESS(response); } /// /// 添加 /// /// 参数请求体 /// 添加 [HttpPost] [Route("/v1/omega_source/ApiGroup/addApiGroup")] public IActionResult addApiGroup([FromBody] ApiGroup param) { var modal = param.Adapt().ToCreate(HttpContext); var response = _ApiGroupService.InsertReturnIdentity(modal); return SUCCESS(response); } /// /// 修改 /// /// 参数请求体 /// 修改 [HttpPut] [Route("/v1/omega_source/ApiGroup/updateApiGroup")] public IActionResult updateApiGroup([FromBody] ApiGroup param) { var modal = param.Adapt().ToUpdate(HttpContext); var response = _ApiGroupService.Update(modal, true); return SUCCESS(response); } /// /// 删除 /// /// ID /// 删除 [HttpDelete] [Route("/v1/omega_source/ApiGroup/deleteApiGroup/{id}")] public IActionResult deleteApiGroup(int id) { var response = _ApiGroupService.Delete(id); return SUCCESS(response); } /// /// 生成api文档 /// /// 参数请求体 /// 生成api文档 [HttpPost] [Route("/v1/omega_source/ApiGroup/makeApiDoc")] public IActionResult makeApiDoc([FromBody] MakeApiDocDto param) { TokenModel loginUser = JwtUtil.GetLoginUser(HttpContext); _ApiGroupService.sycnApiToSystem(new SycnApiToSystemDto() { projectId = 0, serviceId = param.serviceId, groupId = param.groupId, env = "test" }); _ApiGroupService.sycnApiToSystem(new SycnApiToSystemDto() { projectId = 0, serviceId = param.serviceId, groupId = param.groupId, env = "dis" }); var response = _ApiGroupService.makeApiDoc(param, loginUser); return SUCCESS(response); } /// /// 同步api到管理平台 /// /// 参数请求体 /// 同步api到管理平台 [HttpPost] [Route("/v1/omega_source/ApiGroup/sycnApiToSystem")] public IActionResult sycnApiToSystem([FromBody] SycnApiToSystemDto param) { var response = _ApiGroupService.sycnApiToSystem(param); if(response == "同步成功") { return SUCCESS(response); } return ToResponse(ResultCode.FAIL, response); } } }