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.Logic;
using Common;
namespace Controllers.Admin
{
///
/// ServerProject)Controller
///
// [Route("${Router}$")]
// [ApiExplorerSettings(GroupName = "ServerProject")]
public class ServerProjectController : BaseController
{
///
/// api分组接口
///
private readonly IServerProjectService _ServerProjectService;
public ServerProjectController(IServerProjectService ServerProjectService)
{
_ServerProjectService = ServerProjectService;
}
/// 分页参数
///
/// 列表
///
/// 分页对象
/// 参数请求体
/// 列表
[HttpGet]
[Route("/v1/omega_logic/ServerProject/getServerProjectList")]
public IActionResult getServerProjectList([FromQuery] PagerInfo page, [FromQuery] ServerProject param)
{
var response = _ServerProjectService.getServerProjectList(page, param);
return SUCCESS(response);
}
///
/// 详情
///
/// 参数请求体
/// 详情
[HttpGet]
[Route("/v1/omega_logic/ServerProject/getServerProjectQuery")]
public IActionResult getServerProjectQuery([FromQuery] ServerProject param)
{
var response = _ServerProjectService.GetFirst(m => m.id == param.id).Adapt();
return SUCCESS(response);
}
///
/// 添加
///
/// 参数请求体
/// 添加
[HttpPost]
[Route("/v1/omega_logic/ServerProject/addServerProject")]
public IActionResult addServerProject([FromBody] AddServerProjectDto param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _ServerProjectService.InsertReturnIdentity(modal);
return SUCCESS(response);
}
///
/// 修改
///
/// 参数请求体
/// 修改
[HttpPut]
[Route("/v1/omega_logic/ServerProject/updateServerProject")]
public IActionResult updateServerProject([FromBody] UpdateServerProjectDto param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _ServerProjectService.Update(modal, true);
return SUCCESS(response);
}
///
/// 删除
///
/// ID
/// 删除
[HttpDelete]
[Route("/v1/omega_logic/ServerProject/deleteServerProject/{id}")]
public IActionResult deleteServerProject(int id)
{
var response = _ServerProjectService.Delete(id);
return SUCCESS(response);
}
///
/// 复制逻辑项
///
/// 参数请求体
/// 复制逻辑项
[HttpPost]
[Route("/v1/omega_logic/ServerProject/copyServerProject")]
public IActionResult copyServerProject([FromBody] CopyServerProjectDto param)
{
_ServerProjectService.copyServerProject(param);
return SUCCESS("ok");
}
///
/// 启动
///
/// 参数请求体
/// 启动
[HttpPost]
[Route("/v1/omega_logic/ServerProject/runServerProject")]
public IActionResult runServerProject([FromBody] RunServerProjectDto param)
{
Dictionary result = LogicHelper.DoLogic(param.id, "run" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + Function.get_Random(8), "development", param.requestData);
// if(result.Count == 0)
// {
// return ToResponse(ResultCode.FAIL, "启动逻辑项目失败");
// }
return SUCCESS(result);
}
}
}