ServerScriptKindService.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. namespace Services
  9. {
  10. /// <summary>
  11. /// 服务器脚本分类Service业务层处理
  12. /// </summary>
  13. [AppService(ServiceType = typeof(IServerScriptKindService), ServiceLifetime = LifeTime.Transient)]
  14. public class ServerScriptKindService : BaseService<ServerScriptKind>, IServerScriptKindService
  15. {
  16. private readonly IServerScriptService _serverScriptService;
  17. public ServerScriptKindService(IServerScriptService serverScriptService)
  18. {
  19. _serverScriptService = serverScriptService;
  20. }
  21. /// <summary>
  22. /// 服务器脚本分类-列表
  23. /// </summary>
  24. /// <param name="param">参数请求体</param>
  25. /// <param name="page">分页参数</param>
  26. /// <returns>列表</returns>
  27. public PagedInfo<GetServerScriptKindListVo> getServerScriptKindList([FromQuery] PagerInfo page, [FromQuery] ServerScriptKind param)
  28. {
  29. //拼装查询条件
  30. var predicate = Expressionable.Create<ServerScriptKind>();
  31. predicate = predicate.AndIF(!string.IsNullOrEmpty(param.kindName), m => m.kindName.Contains(param.kindName));
  32. predicate = predicate.AndIF(!string.IsNullOrEmpty(param.kindCode), m => m.kindCode.Contains(param.kindCode));
  33. var response = Queryable()
  34. .Where(predicate.ToExpression())
  35. .OrderByDescending(m => m.id)
  36. .ToPage<ServerScriptKind, GetServerScriptKindListVo>(page);
  37. return response;
  38. }
  39. /// <summary>
  40. /// 服务器脚本分类-树
  41. /// </summary>
  42. /// <returns>树</returns>
  43. public List<GetServerScriptKindTreeVo> getServerScriptTree()
  44. {
  45. var response = new List<GetServerScriptKindTreeVo>();
  46. var kinds = GetList();
  47. foreach (var kind in kinds)
  48. {
  49. var scripts = _serverScriptService.GetList(m => m.kindId == kind.id);
  50. var scriptList = new List<GetServerScriptVo>();
  51. foreach (var script in scripts)
  52. {
  53. scriptList.Add(new GetServerScriptVo
  54. {
  55. id = script.id,
  56. scriptName = script.scriptName,
  57. });
  58. }
  59. response.Add(new GetServerScriptKindTreeVo
  60. {
  61. id = kind.id,
  62. kindName = kind.kindName,
  63. kindCode = kind.kindCode,
  64. scriptList = scriptList,
  65. });
  66. }
  67. return response;
  68. }
  69. }
  70. }