LogicNodeKindService.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using Attribute;
  2. using Model;
  3. using Model.Base;
  4. using Repository;
  5. using Service;
  6. using Microsoft.AspNetCore.Mvc;
  7. using Vo.Admin;
  8. using Mapster;
  9. namespace Services
  10. {
  11. /// <summary>
  12. /// 逻辑节点分类Service业务层处理
  13. /// </summary>
  14. [AppService(ServiceType = typeof(ILogicNodeKindService), ServiceLifetime = LifeTime.Transient)]
  15. public class LogicNodeKindService : BaseService<LogicNodeKind>, ILogicNodeKindService
  16. {
  17. /// <summary>
  18. /// 逻辑节点分类-列表
  19. /// </summary>
  20. /// <param name="page">分页参数</param>
  21. /// <returns>列表</returns>
  22. public PagedInfo<GetLogicNodeKindListVo> getLogicNodeKindList([FromQuery] PagerInfo page)
  23. {
  24. //拼装查询条件
  25. var predicate = Expressionable.Create<LogicNodeKind>();
  26. var response = Queryable()
  27. .Where(predicate.ToExpression())
  28. .OrderByDescending(m => m.id)
  29. .ToPage<LogicNodeKind, GetLogicNodeKindListVo>(page);
  30. return response;
  31. }
  32. /// <summary>
  33. /// 逻辑节点分类-节点分类数据
  34. /// </summary>
  35. /// <param name="page">分页参数</param>
  36. /// <returns>节点分类数据</returns>
  37. public List<GetLogicNodeTreeVo> getLogicNodeTree(List<LogicNode> nodes)
  38. {
  39. var response = GetList().Adapt<List<GetLogicNodeTreeVo>>();
  40. foreach(var kind in response)
  41. {
  42. var nodeList = nodes
  43. .Where(m => m.nodeKind == kind.id)
  44. .ToList()
  45. .Adapt<List<LogicNodeTreeItemVo>>();
  46. kind.logicNodeList = nodeList;
  47. }
  48. return response;
  49. }
  50. }
  51. }