| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- using Vo;
- using Microsoft.AspNetCore.Mvc;
- using Model;
- using Services;
- using Model.Base;
- using Vo.Admin;
- using Mapster;
- using Infrastructure;
- using Dto.Admin;
- using Common;
- using Util;
- namespace Controllers.Admin
- {
- /// <summary>
- /// ApiInfo)Controller
- /// </summary>
- // [Route("${Router}$")]
- // [ApiExplorerSettings(GroupName = "ApiInfo")]
- public class ApiInfoController : BaseController
- {
- /// <summary>
- /// api分组接口
- /// </summary>
- private readonly IApiInfoService _ApiInfoService;
- private readonly IApiGroupService _ApiGroupService;
- private readonly IApiControllerService _ApiControllerService;
- private readonly IDatabaseFieldService _DatabaseFieldService;
- public ApiInfoController(IApiInfoService ApiInfoService, IApiGroupService ApiGroupService, IApiControllerService ApiControllerService, IDatabaseFieldService DatabaseFieldService)
- {
- _ApiInfoService = ApiInfoService;
- _ApiGroupService = ApiGroupService;
- _ApiControllerService = ApiControllerService;
- _DatabaseFieldService = DatabaseFieldService;
- }
- /// <param name="page">分页参数</param>
- /// <summary>
- /// 列表
- /// </summary>
- /// <param name="page">分页对象</param>
- /// <param name="param">参数请求体</param>
- /// <returns>列表</returns>
- [HttpGet]
- [Route("/v1/omega_source/ApiInfo/getApiInfoList")]
- public IActionResult getApiInfoList([FromQuery] PagerInfo page, [FromQuery] ApiInfo param)
- {
- var response = _ApiInfoService.getApiInfoList(page, param);
- return SUCCESS(response);
- }
- /// <summary>
- /// 字段关联接口列表
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <returns>字段关联接口列表</returns>
- [HttpGet]
- [Route("/v1/omega_source/ApiInfo/getApiInfoListByProId")]
- public IActionResult getApiInfoListByProId([FromQuery] PagerInfo page, [FromQuery] ApiInfo param)
- {
- var response = _ApiInfoService.getApiInfoListByProId(page, param);
- return SUCCESS(response);
- }
- /// <summary>
- /// 详情
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <returns>详情</returns>
- [HttpGet]
- [Route("/v1/omega_source/ApiInfo/getApiInfoQuery")]
- public IActionResult getApiInfoQuery([FromQuery] ApiInfo param)
- {
- var response = _ApiInfoService.GetFirst(m => m.id == param.id).Adapt<GetApiInfoQueryVo>();
- return SUCCESS(response);
- }
- /// <summary>
- /// 添加
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <returns>添加</returns>
- [HttpPost]
- [Route("/v1/omega_source/ApiInfo/addApiInfo")]
- public IActionResult addApiInfo([FromBody] AddApiInfoDto param)
- {
- var modal = param.Adapt<ApiInfo>().ToCreate(HttpContext);
- var check = _ApiControllerService.Any(m => m.controllerFilePath == param.controllerFilePath);
- if(!check)
- {
- _ApiControllerService.Add(new ApiController()
- {
- controllerFilePath = param.controllerFilePath,
- serviceId = param.serviceId
- });
- }
- foreach(var item in modal.apiParam)
- {
- var linkTablePrimaryKey = (_DatabaseFieldService.GetFirst(m => m.tableId == item.linkTableId && m.primaryKey) ?? _DatabaseFieldService.GetFirst(m => m.tableId == item.linkTableId)) ?? new DatabaseField();
- item.linkTablePrimaryKeyName = PublicFunction.transferName(linkTablePrimaryKey.fieldName, 1);
- }
- var response = _ApiInfoService.InsertReturnIdentity(modal);
- return SUCCESS(response);
- }
- /// <summary>
- /// 修改
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <returns>修改</returns>
- [HttpPut]
- [Route("/v1/omega_source/ApiInfo/updateApiInfo")]
- public IActionResult updateApiInfo([FromBody] AddApiInfoDto param)
- {
- var modal = param.Adapt<ApiInfo>().ToUpdate(HttpContext);
- var check = _ApiControllerService.Any(m => m.controllerFilePath == param.controllerFilePath);
- if(!check)
- {
- _ApiControllerService.Add(new ApiController()
- {
- controllerFilePath = param.controllerFilePath,
- serviceId = param.serviceId
- });
- }
- foreach(var item in modal.apiParam)
- {
- var linkTablePrimaryKey = (_DatabaseFieldService.GetFirst(m => m.tableId == item.linkTableId && m.primaryKey) ?? _DatabaseFieldService.GetFirst(m => m.tableId == item.linkTableId)) ?? new DatabaseField();
- item.linkTablePrimaryKeyName = PublicFunction.transferName(linkTablePrimaryKey.fieldName, 1);
- }
- var response = _ApiInfoService.Update(modal, true);
- return SUCCESS(response);
- }
- /// <summary>
- /// 删除
- /// </summary>
- /// <param name="id">ID</param>
- /// <returns>删除</returns>
- [HttpDelete]
- [Route("/v1/omega_source/ApiInfo/deleteApiInfo/{id}")]
- public IActionResult deleteApiInfo(int id)
- {
- var response = _ApiInfoService.Delete(id);
- return SUCCESS(response);
- }
- /// <summary>
- /// 批量删除
- /// </summary>
- /// <param name="param">参数请求体</param>
- /// <returns>批量删除</returns>
- [HttpPut]
- [Route("/v1/omega_source/ApiInfo/batchDeleteApiInfo")]
- public IActionResult batchDeleteApiInfo([FromBody] BatchDeleteApiInfoDto param)
- {
- foreach(var id in param.idList)
- {
- _ApiInfoService.Delete(id);
- }
- return SUCCESS("ok");
- }
- /// <summary>
- /// 克隆接口
- /// </summary>
- /// <param name="param">参数请求体</param>
- [HttpPost]
- [Route("/v1/omega_source/ApiInfo/copyApiInfo")]
- public IActionResult copyApiInfo([FromBody] CopyApiInfoDto param)
- {
- var group = _ApiGroupService.GetFirst(m => m.id == param.targetApiGroupId) ?? new ApiGroup();
- _ApiInfoService.copyApiInfo(param, group);
- return SUCCESS("ok");
- }
- /// <summary>
- /// 初始化接口
- /// </summary>
- /// <returns>初始化接口</returns>
- [HttpPost]
- [Route("/v1/omega_source/ApiInfo/initApiInfo")]
- public IActionResult initApiInfo([FromBody] InitApiInfoDto param)
- {
- _ApiInfoService.initApiInfo(param);
- return SUCCESS("ok");
- }
- }
- }
|