using Attribute; using Model; using Model.Base; using Repository; using Service; using Microsoft.AspNetCore.Mvc; using Vo.Admin; using Dto.Admin; using Util; using Infrastructure; namespace Services { /// /// 逻辑项Service业务层处理 /// [AppService(ServiceType = typeof(ITestProjectService), ServiceLifetime = LifeTime.Transient)] public class TestProjectService : BaseService, ITestProjectService { /// /// 逻辑项-列表 /// /// 参数请求体 /// 分页参数 /// 列表 public PagedInfo getTestProjectList([FromQuery] PagerInfo page, [FromQuery] TestProject param) { //拼装查询条件 var predicate = Expressionable.Create(); predicate = predicate.AndIF(param.projectId > 0, m => m.projectId == param.projectId); predicate = predicate.AndIF(!string.IsNullOrEmpty(param.projectName), m => m.projectName.Contains(param.projectName)); var response = Queryable() .Where(predicate.ToExpression()) .OrderByDescending(m => m.id) .ToPage(page); return response; } /// /// 复制逻辑项 /// /// 参数请求体 public void copyTestProject([FromBody] CopyTestProjectDto param) { var user = JwtUtil.GetLoginUser(App.HttpContext); var ids = param.idList.ToList(); var list = GetList(m => ids.Contains(m.id)); foreach (var item in list) { Add(new TestProject() { projectName = item.projectName, projectDetail = item.projectDetail, serviceId = item.serviceId, setData = item.setData, createTime = DateTime.Now, createBy = user.username, }); } } } }