using Attribute; using Model; using Model.Base; using Repository; using Service; using Microsoft.AspNetCore.Mvc; using Vo.Admin; using Mapster; namespace Services { /// /// 逻辑节点分类Service业务层处理 /// [AppService(ServiceType = typeof(ITestNodeKindService), ServiceLifetime = LifeTime.Transient)] public class TestNodeKindService : BaseService, ITestNodeKindService { /// /// 逻辑节点分类-列表 /// /// 分页参数 /// 列表 public PagedInfo getTestNodeKindList([FromQuery] PagerInfo page) { //拼装查询条件 var predicate = Expressionable.Create(); var response = Queryable() .Where(predicate.ToExpression()) .OrderByDescending(m => m.id) .ToPage(page); return response; } /// /// 逻辑节点分类-节点分类数据 /// /// 节点列表 /// 节点分类参数请求体 /// 节点分类数据 public List getTestNodeTree(List nodes, TestNodeKind param) { //拼装查询条件 var predicate = Expressionable.Create(); predicate.AndIF(param.testNodeFlag, m => m.testNodeFlag == param.testNodeFlag); var response = GetList(predicate.ToExpression()).Adapt>(); foreach(var kind in response) { var nodeList = nodes.Where(m => m.nodeKind == kind.id); if (param.testNodeFlag) { nodeList = nodeList.Where(m => m.testNodeFlag == param.testNodeFlag); } var nodeItems = nodeList.ToList().Adapt>(); kind.logicNodeList = nodeItems; } return response; } } }