AdmLabslController.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package com.persagy.proxy.dictionary.controller;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.persagy.proxy.object.model.AdmObjectInfo;
  4. import com.persagy.proxy.dictionary.model.AdmObjectType;
  5. import com.persagy.proxy.adm.request.AdmResponse;
  6. import com.persagy.proxy.report.service.IAdmLabslService;
  7. import com.persagy.proxy.adm.utils.AdmContextUtil;
  8. import com.persagy.proxy.common.entity.InstanceUrlParam;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import javax.ws.rs.QueryParam;
  17. import java.util.List;
  18. import java.util.stream.Collectors;
  19. /**
  20. * @ClassName AdmLabslController
  21. * @Description: 蜡笔森林定制接口
  22. * @Author linhuili
  23. * @Date 2021/9/17 20:01
  24. * @Version V1.0
  25. **/
  26. @RestController
  27. @RequestMapping("/labsl")
  28. @Slf4j
  29. public class AdmLabslController {
  30. @Autowired
  31. private IAdmLabslService service;
  32. @Value("${middleware.group.code}")
  33. private String groupCode;
  34. /**
  35. * 查询项目下的设备类型
  36. * @return
  37. * @throws Exception
  38. */
  39. @PostMapping("/category")
  40. public AdmResponse queryCategory() throws Exception {
  41. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  42. return service.queryCategory(context, AdmObjectInfo.class);
  43. }
  44. /**
  45. * 查询项目下的空间类型
  46. * @return
  47. * @throws Exception
  48. */
  49. @PostMapping("/zone/type")
  50. public AdmResponse queryZoneType() throws Exception {
  51. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  52. return service.queryZoneType(context, AdmObjectInfo.class);
  53. }
  54. /**
  55. * 查询项目下的建筑楼层
  56. * @return
  57. * @throws Exception
  58. */
  59. @PostMapping("/building/floor")
  60. public AdmResponse queryBuildFloor(@QueryParam("projectId") String projectId) throws Exception {
  61. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  62. return service.queryBuildFloor(context, AdmObjectInfo.class);
  63. }
  64. /**
  65. * 查询设备包含设备类型
  66. * @return
  67. * @throws Exception
  68. */
  69. @PostMapping("/query/equip")
  70. public AdmResponse queryEquipType(@QueryParam("projectId") String projectId) throws Exception {
  71. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  72. return service.queryBuildFloor(context, AdmObjectInfo.class);
  73. }
  74. /**
  75. * 根据设备id统计设备所属的专业
  76. * @return
  77. * @throws Exception
  78. */
  79. @PostMapping("/major/category")
  80. public AdmResponse queryMajorCategory(@QueryParam("projectId") String projectId,
  81. @RequestBody List<String> ids) throws Exception {
  82. InstanceUrlParam context = AdmContextUtil.toDmpContext();
  83. if(CollUtil.isEmpty(ids)){
  84. return AdmResponse.failure("项目下没有设备类型");
  85. }
  86. List<String> newIds = ids.stream().filter(id->"fisnull".equals(id)).collect(Collectors.toList());
  87. if(CollUtil.isEmpty(newIds)){
  88. return AdmResponse.failure("项目下没有设备类型");
  89. }
  90. return service.queryMajorCategory(context, newIds , AdmObjectType.class);
  91. }
  92. }