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
{
///
/// LogicProject)Controller
///
// [Route("${Router}$")]
// [ApiExplorerSettings(GroupName = "LogicProject")]
public class LogicProjectController : BaseController
{
///
/// api分组接口
///
private readonly ILogicProjectService _LogicProjectService;
public LogicProjectController(ILogicProjectService LogicProjectService)
{
_LogicProjectService = LogicProjectService;
}
/// 分页参数
///
/// 列表
///
/// 分页对象
/// 参数请求体
/// 列表
[HttpGet]
[Route("/v1/omega_logic/LogicProject/getLogicProjectList")]
public IActionResult getLogicProjectList([FromQuery] PagerInfo page, [FromQuery] LogicProject param)
{
var response = _LogicProjectService.getLogicProjectList(page, param);
return SUCCESS(response);
}
///
/// 详情
///
/// 参数请求体
/// 详情
[HttpGet]
[Route("/v1/omega_logic/LogicProject/getLogicProjectQuery")]
public IActionResult getLogicProjectQuery([FromQuery] LogicProject param)
{
var response = _LogicProjectService.GetFirst(m => m.id == param.id).Adapt();
return SUCCESS(response);
}
///
/// 添加
///
/// 参数请求体
/// 添加
[HttpPost]
[Route("/v1/omega_logic/LogicProject/addLogicProject")]
public IActionResult addLogicProject([FromBody] AddLogicProjectDto param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _LogicProjectService.InsertReturnIdentity(modal);
return SUCCESS(response);
}
///
/// 修改
///
/// 参数请求体
/// 修改
[HttpPut]
[Route("/v1/omega_logic/LogicProject/updateLogicProject")]
public IActionResult updateLogicProject([FromBody] UpdateLogicProjectDto param)
{
var modal = param.Adapt().ToCreate(HttpContext);
var response = _LogicProjectService.Update(modal, true);
return SUCCESS(response);
}
///
/// 删除
///
/// ID
/// 删除
[HttpDelete]
[Route("/v1/omega_logic/LogicProject/deleteLogicProject/{id}")]
public IActionResult deleteLogicProject(int id)
{
var response = _LogicProjectService.Delete(id);
return SUCCESS(response);
}
///
/// 复制逻辑项
///
/// 参数请求体
/// 复制逻辑项
[HttpPost]
[Route("/v1/omega_logic/LogicProject/copyLogicProject")]
public IActionResult copyLogicProject([FromBody] CopyLogicProjectDto param)
{
_LogicProjectService.copyLogicProject(param);
return SUCCESS("ok");
}
///
/// 启动
///
/// 参数请求体
/// 启动
[HttpPost]
[Route("/v1/omega_logic/LogicProject/runLogicProject")]
public IActionResult runLogicProject([FromBody] RunLogicProjectDto 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);
}
}
}