using Infrastructure; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using OpenAuth.App; using OpenAuth.App.Request; using OpenAuth.Repository.Domain; namespace OpenAuth.WebApi.Controllers { /// /// 流程委托 /// [Route("api/[controller]/[action]")] [ApiController] public class WFDelegateController : ControllerBase { WFDelegateApp delegateApp; public WFDelegateController(WFDelegateApp delegateApp) { this.delegateApp = delegateApp; } /// /// 获取管理分页列表 /// workflow/delegate/page /// /// 分页参数 /// 查询参数 /// [HttpGet] public async Task>>> LoadPage([FromQuery] PageReq pageReq, [FromQuery] WFDelegateRule queryParams) { var pageInfo = await delegateApp.GetPageList(pageReq, queryParams); return new Response>> { Result = pageInfo, Message = "success" }; } /// /// 获取委托表单信息 /// workflow/delegate/{id} /// /// 主键id /// [HttpGet] public async Task> Get(string id) { WFDelegateDto nWFDelegateDto = new WFDelegateDto(); nWFDelegateDto.entity = await delegateApp.GetEntity(id); nWFDelegateDto.list = new List(); var list = await delegateApp.GetRelationList(id); foreach (var item in list) { nWFDelegateDto.list.Add(item.SchemeInfoId); } return new Response { Result = nWFDelegateDto, Message = "success" }; } /// /// 获取我的委托人(发起委托) /// workflow/delegate/users/{code} /// /// [HttpGet] public async Task>> LoadMyUserList(string code) { var data = await delegateApp.GetMyUserList(code); return new Response> { Result = data, Message = "success" }; } /// /// 新增委托 /// workflow/delegate /// /// 提交参数 /// [HttpPost] public async Task> Add(WFDelegateDto dto) { var result = new Response(); try { result = await delegateApp.SaveEntity(string.Empty, dto.entity, dto.list.ToArray()); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 更新委托 /// workflow/delegate/{id} /// /// 主键 /// 提交参数 /// [HttpPost] public async Task> UpdateForm(string id, WFDelegateDto dto) { var result = new Response(); try { result = await delegateApp.SaveEntity(id, dto.entity, dto.list.ToArray()); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 删除委托 /// workflow/delegate/{id} /// /// 主键 /// [HttpPost] public async Task> DeleteEntity(string id) { var result = new Response(); try { result = await delegateApp.DeleteEntity(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 更新状态 /// workflow/delegate/{id}/{state} /// /// 主键 /// 状态 /// [HttpPost] public async Task> UpdateSate(string id, int state) { var result = new Response(); try { result = await delegateApp.UpdateState(id, state); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } } }